背景故事:去年装R7515的时候使用的是1块512GB的英睿达MX500作为系统盘,另一块512GB的英睿达MX500作为虚拟机的数据盘。原先设想后续改造将两块MX500改成RAID1阵列作为系统盘,另外再购置大容量数据盘。不料618致钛7100价格太美丽,一口气入了4块2TB,挑了2块不同批次的组RAID1,用于系统盘+数据盘,另外2块专门作为数据库或云游戏的高性能存储。所以目标就是将单块MX500上的系统迁移的MD软RAID阵列上。
整体规划
- 请一定注意你知道每条命令在干什么,数据不是儿戏!
- EFI分区放在阵列中也是可行的,但是我并没有使用
- EFI分区都同步到两个硬盘,这样挂掉任何一块,都还能引导
- 拆分卡上面的顺序标号和系统里看到的是相反的,但是在iDRAC中看到又相同
1 2 3 4 5 6 7 8 9 10 11
|
lsblk
sda 259:0 0 465.8G 0 disk ├─sda1 259:1 0 512M 0 part └─sda2 259:8 0 465.3G 0 part ├─pve-swap 253:5 0 16G 0 lvm [SWAP] ├─pve-root 253:6 0 96G 0 lvm / ├─pve-data_tmeta 253:7 0 3.4G 0 lvm │ └─pve-data 253:9 0 330.5G 0 lvm └─pve-data_tdata 253:8 0 330.5G 0 lvm └─pve-data 253:9 0 330.5G 0 lvm
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
lsblk
nvme0n1 259:0 0 1.9T 0 disk ├─nvme0n1p1 259:1 0 512M 0 part /boot/efi └─nvme0n1p2 259:2 0 1.8T 0 part └─md127 9:127 0 1.8T 0 raid1 └─md127p1 259:8 0 1.8T 0 part ├─pve-swap 253:5 0 16G 0 lvm [SWAP] ├─pve-root 253:6 0 96G 0 lvm / ├─pve-data_tmeta 253:7 0 3.4G 0 lvm │ └─pve-data 253:9 0 330.5G 0 lvm └─pve-data_tdata 253:8 0 330.5G 0 lvm └─pve-data 253:9 0 330.5G 0 lvm nvme1n1 259:3 0 1.9T 0 disk ├─nvme1n1p1 259:5 0 512M 0 part └─nvme1n1p2 259:6 0 1.8T 0 part └─md127 9:127 0 1.8T 0 raid1 └─md127p1 259:8 0 1.8T 0 part ├─pve-swap 253:5 0 16G 0 lvm [SWAP] ├─pve-root 253:6 0 96G 0 lvm / ├─pve-data_tmeta 253:7 0 3.4G 0 lvm │ └─pve-data 253:9 0 330.5G 0 lvm └─pve-data_tdata 253:8 0 330.5G 0 lvm └─pve-data 253:9 0 330.5G 0 lvm
|
硬件安装
拆分卡地址就不贴了,支持PCIe 4.0的,吳真从来不拐弯抹角,但是我好像买贵了好多,就请直接按图搜吧。屁股后面还有4个指示灯,标识对应硬盘是否在线.
BIOS设置
NVMe Settings
-> BIOS NVMe Driver
:选择All Drives
Integrated Devices
-> Slot Bifurcation
Auto Discovery Bifurcation Settings
:选择Manual Bifurcation Control
Slot 4 Bifurcation
:选择x4 Bifurcation
,因为只有这个槽支持PCIe 4.0
实施
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
sudo -i
fdisk /dev/nvme0n1 g n +1048575 n +3879731199 t 1 uefi t 2 raid p w
fdisk /dev/nvme1n1
|
关于分区2的大小,3879731199,考虑到若阵列中某块物理硬盘损坏,更换的新硬盘大小和原始大小不同,因此应尽量不使用全部的硬盘空间作为分区,而是选择一个略微小一点的大小。这里的取值为,按照硬盘标定容量2 * 10^12计算,-512MB EFI分区,大约1862GB左右,向下取整到1850GB,每个扇区为512B,折合3879731200扇区。
1 2 3 4 5 6 7 8 9
|
apt update && apt install mdadm mdadm --create /dev/md0 --name system --level=mirror --raid-devices=2 /dev/nvme0n1p2 /dev/nvme1n1p2 cat /proc/mdstat
echo 6000000 > /proc/sys/dev/raid/speed_limit_min echo 6000000 > /proc/sys/dev/raid/speed_limit_max cat /proc/mdstat
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
dd if=/dev/sda2 of=/dev/nvme0n1p1 dd if=/dev/sda2 of=/dev/nvme1n1p1
fdisk /dev/md0 g n
t 1 lvm p w
dd if=/dev/sda3 of=/dev/md0p1 bs=64M
apt update && apt install libncurses6
wget http://archive.ubuntu.com/ubuntu/pool/universe/p/progress/progress_0.16-1_amd64.deb dpkg -i progress_0.16-1_amd64.deb progress -m
|
这一步很重要,关机将原硬盘拔掉,然后重新进入Live CD模式。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
apt update && apt install mdadm mdadm --assemble /dev/md0 /dev/nvme0n1p2 /dev/nvme1n1p2
mkdir /mnt/root mount /dev/mapper/pve-root /mnt/root mount /dev/nvme0n1p1 /mnt/root/boot/efi/ mount --bind /proc/ /mnt/root/proc/ mount --bind /sys/ /mnt/root/sys/ mount --bind /run/ /mnt/root/run/ mount --bind /dev/ /mnt/root/dev/ chroot /mnt/root apt update && apt install mdadm
grub-install --efi-directory=/boot/efi --recheck update-grub
cat /boot/grub/grub.cfg | grep "insmod mdraid1x"
|
关机重启,理论上应该能够自动进入系统,R7515记得选择PCIe SSD in Slot 4: proxmox。
1 2 3 4 5 6 7 8 9 10 11 12 13
|
lvm
pvdisplay pvresize /dev/md127p1 pvdisplay
vgdisplay
lvextend -l +100%FREE /dev/pve/data lvdisplay
|