LUKS加密进度查看、追踪及时长预估问题咨询
一、事后通过命令行追踪加密进度
如果已经用Disks GUI启动了加密,不小心关掉窗口或者想更细致地监控进度,可以按以下步骤操作:
定位加密设备的映射名称
先执行lsblk命令,找到你正在加密的分区(比如/dev/sda3),对应TYPE为crypt的设备,它的NAME列就是映射名(格式类似luks-xxxxxxxxx)。实时刷新加密状态
用watch命令每隔1秒更新一次状态,命令如下:watch -n 1 cryptsetup status /dev/mapper/<你的映射名>输出内容里会显示当前加密的进度百分比、剩余时长(如果系统能估算的话),以及设备的基础状态信息。
辅助监控磁盘IO情况
如果上面的命令没有直接展示进度,还可以用iostat监控磁盘写入速度,间接判断进度:iostat -x 5 /dev/sdX # 把sdX替换成你加密的磁盘,比如sda观察
wMB/s列的数值,结合磁盘总容量就能大概算出剩余时间。
二、事前加密时(含GUI方式)追踪进度的方法
GUI原生进度追踪
其实Disks在加密过程中,只要不关闭加密窗口,本身就会显示实时进度条。如果担心窗口意外关闭,可以在启动加密前先打开终端,提前运行上面提到的watch cryptsetup status...命令,后台实时监控。改用命令行加密(更直观)
如果想全程看到详细进度,也可以放弃GUI,直接用命令行执行加密:cryptsetup luksFormat /dev/sdX # sdX是你要加密的磁盘/分区执行后会有交互式提示,确认后就会显示实时的加密进度百分比和剩余时间,信息非常直观。
三、加密时长的估算方法
加密时间主要由CPU加密性能和磁盘IO速度共同决定,LUKS默认使用的AES-XTS算法效率很高,具体估算可以这么做:
测试加密速度
运行cryptsetup benchmark命令,它会测试不同加密算法的处理速度,重点看AES-XTS 256位的加密速度(这是LUKS的默认算法),比如输出里的Encryption数值。结合容量计算时长
比如你的加密速度是200MB/s,2TB的总容量是2048*1024=2097152MB,预估时间就是:2097152MB ÷ 200MB/s ≈ 10485秒 ≈ 2小时55分钟实际时长会有波动:
- 若是HDD硬盘,磁盘IO速度(通常100-200MB/s)会成为瓶颈,时间会偏长;
- 若是SSD硬盘,CPU性能是主要影响因素,高端CPU能跑到300-500MB/s,时间会短很多;
- SATA电缆版本:SATA3(6Gbps)能发挥SSD的全部性能,SATA2(3Gbps)会限制SSD速度,但对HDD影响不大;
- 系统负载:加密时如果同时运行其他高负载任务,速度会下降,时长会延长。
备注:内容来源于stack exchange,提问作者TkqiQvGx

