1.查询磁盘
1
2
3
4
| ls /dev/disk/by-id
ata-WD8SLDL988SLA998-8LWL1882_CCC000 -> ../../sdc
ata-WD8SLDL988SLA998-8LWL1882_AAA000 -> ../../sdb
ata-WD8SLDL988SLA998-8LWL1882_BBB000 -> ../../sdd
|
2.生成秘钥
1
2
3
| dd if=/dev/urandom of=/root/CCC000.key bs=1024 count=64
dd if=/dev/urandom of=/root/AAA000.key bs=1024 count=64
dd if=/dev/urandom of=/root/BBB000.key bs=1024 count=64
|
3.用秘钥加密磁盘
1
2
3
| cryptsetup luksFormat /dev/disk/by-id/ata-WD8SLDL988SLA998-8LWL1882_CCC000 /root/CCC000.key
cryptsetup luksFormat /dev/disk/by-id/ata-WD8SLDL988SLA998-8LWL1882_AAA000 /root/AAA000.key
cryptsetup luksFormat /dev/disk/by-id/ata-WD8SLDL988SLA998-8LWL1882_BBB000 /root/BBB000.key
|
4.查找luks加密后的uuid
1
2
3
4
| root@jarvis:~# blkid | grep 'TYPE="crypto_LUKS"'
/dev/sdb: UUID="8sfaa99s8-060b-40ee-8ed3-177fd5f85c8e" TYPE="crypto_LUKS"
/dev/sdd: UUID="8sd8fax9-3fbb-454a-8ef2-45b38a35d9b6" TYPE="crypto_LUKS"
/dev/sdc: UUID="f562f785-114c-4d51-8cd0-8a913a39ad16" TYPE="crypto_LUKS"
|
5.打开加密磁盘
1
2
3
| cryptsetup luksOpen UUID=8sfaa99s8-060b-40ee-8ed3-177fd5f85c8e --key-file /root/AAA000.key AAA000
cryptsetup luksOpen UUID=8sd8fax9-3fbb-454a-8ef2-45b38a35d9b6 --key-file /root/BBB000.key BBB000
cryptsetup luksOpen UUID=f562f785-114c-4d51-8cd0-8a913a39ad16 --key-file /root/CCC000.key CCC000
|
6.设置开机自动挂载
1
2
3
4
5
6
7
8
| mkdir /path/somewhere/
cp /root/CCC000.key /path/somewhere/
cp /root/AAA000.key /path/somewhere/
cp /root/BBB000.key /path/somewhere/
vim /etc/crypttab
AAA000 UUID=8sfaa99s8-060b-40ee-8ed3-177fd5f85c8e /path/somewhere/AAA000.key luks
BBB000 UUID=8sd8fax9-3fbb-454a-8ef2-45b38a35d9b6 /path/somewhere/BBB000.key luks
CCC000 UUID=f562f785-114c-4d51-8cd0-8a913a39ad16 /path/somewhere/CCC000.key luks
|
7.找到加密分区
应该是以"dm-uuid-CRYPT" 开头
1
2
3
4
| ls /dev/disk/by-id
dm-uuid-CRYPT-LUKS2-8sfaa99s8060b40ee8ed3177fd5f85c8e-AAA000
dm-uuid-CRYPT-LUKS2-8sd8fax93fbb454a8ef245b38a35d9b6-BBB000
dm-uuid-CRYPT-LUKS2-f562f785114c4d518cd08a913a39ad16-CCC000
|
8.创建zfs raidz
ashift=12 设置4k对齐
1
| zpool create -o ashift=12 fridaypool raidz /dev/disk/by-id/dm-uuid-CRYPT-LUKS2-8sfaa99s8060b40ee8ed3177fd5f85c8e-AAA000 /dev/disk/by-id/dm-uuid-CRYPT-LUKS2-8sd8fax93fbb454a8ef245b38a35d9b6-BBB000 /dev/disk/by-id/dm-uuid-CRYPT-LUKS2-f562f785114c4d518cd08a913a39ad16-CCC000
|
9.修改挂载点
1
2
3
4
5
| zfs get mountpoint
NAME PROPERTY VALUE SOURCE
fridaypool mountpoint /fridaypool default
zfs set mountpoint=/home/samba fridaypool
|
10.更换损坏的硬盘
查看zfs状态:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| $ zpool status
pool: fridaypool
state: DEGRADED
status: One or more devices could not be used because the label is missing or
invalid. Sufficient replicas exist for the pool to continue
functioning in a degraded state.
action: Replace the device using 'zpool replace'.
see: http://zfsonlinux.org/msg/ZFS-8000-4J
scan: none requested
config:
NAME STATE READ WRITE CKSUM
fridaypool DEGRADED 0 0 0
raidz1-0 DEGRADED 0 0 0
dm-uuid-CRYPT-LUKS2-8sfaa99s8060b40ee8ed3177fd5f85c8e-AAA000 ONLINE 0 0 0
17440926855258209948 UNAVAIL 0 0 0 was /dev/disk/by-id/dm-uuid-CRYPT-LUKS2-8sd8fax93fbb454a8ef245b38a35d9b6-BBB000
dm-uuid-CRYPT-LUKS2-f562f785114c4d518cd08a913a39ad16-CCC000 ONLINE 0 0 0
|
新增自盘,加密并挂载,执行替换命令:
zpool replace fridaypool 17440926855258209948 dm-uuid-CRYPT-LUKS2-7156ddb895174f0899450b343d8sfslaf-BBB000
查询状态:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| $ zpool status -x
pool: fridaypool
state: DEGRADED
status: One or more devices is currently being resilvered. The pool will
continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
scan: resilver in progress since Thu Jan 14 12:54:04 2021
17.1G scanned at 700M/s, 4.03G issued at 165M/s, 17.1G total
1.34G resilvered, 23.54% done, 0 days 00:01:21 to go
config:
NAME STATE READ WRITE CKSUM
fridaypool DEGRADED 0 0 0
raidz1-0 DEGRADED 0 0 0
dm-uuid-CRYPT-LUKS2-8sfaa99s8060b40ee8ed3177fd5f85c8e-AAA000 ONLINE 0 0 0
replacing-1 DEGRADED 0 0 0
17440926855258209948 UNAVAIL 0 0 0 was /dev/disk/by-id/dm-uuid-CRYPT-LUKS2-8sd8fax93fbb454a8ef245b38a35d9b6-BBB000
dm-uuid-CRYPT-LUKS2-7156ddb895174f0899450b343d8sfslaf-BBB000 ONLINE 0 0 0 (resilvering)
dm-uuid-CRYPT-LUKS2-f562f785114c4d518cd08a913a39ad16-CCC000 ONLINE 0 0 0
errors: No known data errors
|
此时正在合并数据到新的磁盘。
稍等片刻查询状态:
1
2
| $ zpool status -x
all pools are healthy
|