记录:群晖DS220plus磁盘扩容。(更新)
概述
群晖版本:DSM 7.1.1-42962 Update 4,DS220plus(就只能放2个硬盘)
本来是2个4T的磁盘做RAID0的。以前扩容过一次,换了2个6T磁盘。
现在又不够用了,又换了2个16T磁盘。这次更新方法比之前的更加合理感觉。
1、自己准备了一个Linux机器。2个旧的6T盘和2个新的16T盘都插上,让系统可以看到。
2、使用lsblk查看磁盘的基本信息,其中/dev/sdb、/dev/sdd是2个16T的新盘,/dev/sdf、/dev/sdg是2个旧的6T盘。从lsblk可以看出来。群晖的存储做法应该是sdf3和sdg3做了软RAID0(可用mdadm --detail /dev/md127 这个命令查看软RAID设备信息),RAID0的md127上创建了LVM。vg名是vg1,上面有2个lv(逻辑卷)叫syno_vg_reserved_area和volume_1,volume_1是主要存放数据的,上面是个btrfs文件系统。
[root@sxydevserver ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 447.1G 0 disk
├─sda1 8:1 0 200M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 445.9G 0 part
├─klas-root 252:0 0 391.9G 0 lvm /
├─klas-swap 252:1 0 4G 0 lvm
└─klas-backup 252:2 0 50G 0 lvm
sdb 8:16 0 14.6T 0 disk
sdd 8:48 0 14.6T 0 disk
sdf 8:80 0 5.5T 0 disk
├─sdf1 8:81 0 8G 0 part
├─sdf2 8:82 0 2G 0 part
└─sdf3 8:83 0 5.5T 0 part
└─md127 9:127 0 10.9T 0 raid0
├─vg1-syno_vg_reserved_area 252:3 0 12M 0 lvm
└─vg1-volume_1 252:4 0 10.9T 0 lvm
sdg 8:96 0 5.5T 0 disk
├─sdg1 8:97 0 8G 0 part
├─sdg2 8:98 0 2G 0 part
└─sdg3 8:99 0 5.5T 0 part
└─md127 9:127 0 10.9T 0 raid0
├─vg1-syno_vg_reserved_area 252:3 0 12M 0 lvm
└─vg1-volume_1 252:4 0 10.9T 0 lvm
sr0 11:0 1 1024M 0 rom
扩容的思路
1. 拷贝磁盘
2. 修复分区表
3.分区扩容
4.软raid0扩容
5.vg扩容
6.lv扩容
7.btrfs文件系统扩容
具体扩容步骤和方法
1. 拷贝磁盘
拷贝前可以先 取消激活VG vgchange -n vg1和停用md设备 mdadm --stop /dev/md127
使用dd 命令拷贝(if是源磁盘 of是目标磁盘,千万不要搞错),由于磁盘很大,让其后台拷贝,
nohup dd if=/dev/sdf of=/dev/sdb bs=1M iflag=direct &
nohup dd if=/dev/sdg of=/dev/sdd bs=1M iflag=direct &
拷贝需要几个小时,使用iostat -dmx 1查看磁盘读写的速度,大致计算出时间。最后到时间了查看下是否还有磁盘读写判断是否拷贝完毕
拷贝完毕后,可以把原磁盘先拔掉。然后重启下linux系统或者重新扫描下设备。
2. 修复分区表
主要是原来的磁盘是GPT分区表,GPT分区表有一个备份的分区表头是放在磁盘尾的,DD拷贝磁盘后,分区表尾的头就不对了。
使用gdisk /dev/sdb打开磁盘,直接按w保存分区表,这个时候会提示,说第二个分区表头不再磁盘尾,问你是否要修复这个问题,直接按y修复。
Command (? for help): w Warning! Secondary header is placed too early on the disk! Do you want to correct this problem? (Y/N): y Have moved second header and partition table to correct location. Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdd. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) The operation has completed successfully.
2个磁盘都修复后,输入partprobe 重载分区表。
重载后可以用lsblk查看下,vg和md会自动加载了。
后续操作之前可以先停掉vg和md 取消激活VG vgchange -n vg1和停用md设备 mdadm --stop /dev/md127
3. 分区扩容
安装软件cloud-utils-growpart,在线安装的命令 yum install cloud-utils-growpart
使用命令扩容
growpart /dev/sdb 3
growpart /dev/sdd 3
4.软RAID扩容
mdadm --assemble --update=devicesize /dev/md127 /dev/sdb3 /dev/sdd3
此时如果md没有加载需要手动加载起来mdadm --start /dev/md127
5. PV扩容
pvresize /dev/md127
6. VG扩容
lvextend -l +100%FREE /dev/vg1/volume_1
7.btrfs扩容
btrfs扩容需要先挂载文件系统,mount /dev/vg1/volume_1 /mnt
btrfs filesystem resize max /dev/vg1/volume_1

浙公网安备 33010602011771号