con*_*use 5 encryption hardware storage raid
我打算购买一个外部raid 阵列(硬件raid5)。我的意图是最初为它配备 4 个磁盘,并使用 luks 和 dm-crypt 对其进行加密。我的问题是:我是否能够热交换磁盘并增加加密的 raid,将一两个磁盘增加到总共 6 个?
我没有理由不这样做,但安全总比抱歉好。那么 dm-crypt 对不断增长的分区大小是否稳定?
小智 6
只是一些澄清,为弱牙预先咀嚼智慧。像许多 Linux 文档一样,这个有用的教程假设比一些普通用户可能拥有的知识多一点。
您可以通过查看 /dev 目录来确定您的 RAID 阵列的名称,它将是 md#,例如 md0 或 md1 等。要获取有关 RAID 阵列的更多详细信息,以便您可以选择正确的阵列,请尝试以下命令:
mdadm -D /dev/md#
Run Code Online (Sandbox Code Playgroud)
与#是所述阵列的数目。它会给你这样的信息:
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Name : we:0 (local to host we)
UUID : 94777f33ltjj97
Events : 136
Number Major Minor RaidDevice State
0 8 2 0 active sync /dev/sda2
1 8 18 1 active sync /dev/sdb2
2 8 34 2 active sync /dev/sdc2
4 8 50 3 active sync /dev/sdd2
Run Code Online (Sandbox Code Playgroud)
命令中不存在引号来增加 RAID 文件系统,“-n”指的是阵列中新的驱动器总数。因此,如果您要将 RAID 5 阵列从 4 个驱动器扩展到 5 个驱动器,您可以使用以下命令:
mdadm --grow -n 5 /dev/md2
Run Code Online (Sandbox Code Playgroud)
运行此命令以查看 RAID 合并的进展情况:
cat /proc/mdstat
Run Code Online (Sandbox Code Playgroud)
对于大驱动器和缓慢系统,调整 RAID 大小可能需要很长时间,甚至几天。当它达到 100% 时,您就可以进行下一步了。如果您首先在 LUKS 加密分区上进行 LVM 分区,则需要调整加密卷的大小。要弄清楚,您可以查看 /dev/mapper 文件夹。选择加密卷,而不是任何 LVM 逻辑卷。由于我的系统正在运行,我显然不需要执行教程给出的第一个命令:
cryptsetup luksOpen /dev/md0 md0_crypt
*Device md0_crypt already exists*
Run Code Online (Sandbox Code Playgroud)
如果第二个命令有效,它将不会给出任何输出,就像许多 Linux 命令一样:
cryptsetup resize md0_crypt
Run Code Online (Sandbox Code Playgroud)
接下来是调整 LVM 方案大小的时候了。我想出了用这个命令运行 pvresize 命令的内容: pvs -o +tags
pvs -o +tags
*PV VG Fmt Attr PSize PFree PV Tags
/dev/dm-0 vg0 lvm2 a-- 1.02g 0*
Run Code Online (Sandbox Code Playgroud)
所以我在物理卷上运行了 pvresize 命令,它告诉我它已经成功了。
pvresize /dev/dm-0
*Physical volume "/dev/dm-0" changed
1 physical volume(s) resized / 0 physical volume(s) not resized*
Run Code Online (Sandbox Code Playgroud)
接下来决定您希望使用 lvdisplay 命令扩展哪个逻辑卷。这将告诉您逻辑卷的名称。您的卷组的名称将在 /dev 文件夹中。就我而言,我使用了:
lvdisplay /dev/vg0
Run Code Online (Sandbox Code Playgroud)
查看显示“LV 名称”的字段,我决定使用以下命令将所有新空间添加到我的逻辑卷之一:
lvresize -l +100%FREE /dev/mapper/vg0-system
Extending logical volume system to 7.17 GiB
Logical volume system successfully resized
Run Code Online (Sandbox Code Playgroud)
最后,您可以使用 resize2fs 命令调整 LVM 的大小,以使更改生效。
resize2fs /dev/mapper/vg0-system
*resize2fs 1.42.5 (29-Jul-2012)
Filesystem at /dev/mapper/vg0-system is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/mapper/vg0-system to 1879040 (4k) blocks.
The filesystem on /dev/mapper/vg0-system is now 1879040 blocks long.*
Run Code Online (Sandbox Code Playgroud)
该过程完成后(可能需要一段时间),您可以使用“df -h”命令查看文件系统的新大小。我觉得整个过程有点吓人,所以我想把命令拼出来,以减少别人的焦虑。
小智 5
是的,你当然可以。
首先,我需要使用以下命令将额外的驱动器作为热备件添加到阵列中:
mdadm --add /dev/md2 /dev/sdc3
Run Code Online (Sandbox Code Playgroud)
/dev/md2 是raid,sdc3 是附加磁盘。
然后我告诉数组增长 [...] 与:
"mdadm --grow -n 12 /dev/md2".
Run Code Online (Sandbox Code Playgroud)
现在,我等了大约 16 个小时,让阵列将自身重组为新布局。[...] 查看
cat /proc/mdstat进度。然后我需要告诉加密分区它更大。[...]
cryptsetup luksOpen /dev/md2 storage
cryptsetup resize storage
Run Code Online (Sandbox Code Playgroud)
“存储”是加密设备的标签,如/dev/mapper/sotrage.
如果这是一个 LVM 分区,我需要做一个
pvresize而不是上面的。最后,我不得不增加文件系统的大小。[...]
resize2fs /dev/mapper/storage
Run Code Online (Sandbox Code Playgroud)
在执行此操作时,您是否会丢失阵列上的任何数据?不,它保留了所有数据。在对其进行整形之前,我已经运行了“dd if=/dev/md2 of=/dev/zero”,以确保在进行整形之前任何驱动器上都没有任何坏块。运行这种验证可以找到通常不使用的边缘扇区,这是运行 RAID 阵列的重要部分。此外,请确保在运行重塑之前没有出现故障的驱动器。
在 RAID 调整大小完成之前,您无法扩展文件系统。
在设备使用时调整 RAID-5 大小是否安全?是的,应该是。它旨在跟踪它的位置,因此您甚至可以在增加阵列时重新启动,它会从停止的地方恢复。
来源:http : //www.tummy.com/journals/entries/jafo_20080502_154339
| 归档时间: |
|
| 查看次数: |
5204 次 |
| 最近记录: |