跑在ESXi下的黑裙,当时随便输入了一个23GB硬盘,且只有一个硬盘。跑着发现空间不够了。所以有了下面的故事。
搜遍全网也没有地方看到可以修改。只能自己想办法了。
通过搜索发现群晖用的MD来实现RAID条带。
那就变成了修改MD设备的容量大小的问题了。
找到一个关于mdadm修改Raid容量的文章,可以参考:http://www.wdroot.com/articles/61.html
还有这里:https://documentation.suse.com/zh-cn/sles/12-SP4/html/SLES-all/cha-raid-resize.html
关键思路:
0. 为了原来的数据安全,我们给虚拟机添加一个500GB的硬盘,然后群晖的存储管理员里,将Raid Group改为RAID1,如下图:
更改完类型后,会自动同步数据,等他同步完,这样你数据就有了2份,免得丢失。下面的操作我们是操作的第一个27GB盘的。
1. 查看md设备:# cat /proc/mdstat 下图是做好RAID后的,单盘应该只会显示一个sdxn格式的盘。
可以看到总共3个md设备,1是主系统,0是引导,2是数据。估计是。但是2一定是数据。
md2是raid1,由sdb3,sdc3两个分区组成。
sdb是原来23GB的磁盘,sdc是后来添加的500GB磁盘。我们要操作23GB的磁盘。
现在让md2中的sdb3离线,# mdadm /dev/md2 -f /dev/sdb3
提示:mdadm:
set
/dev/sdb3
faulty
in
/dev/md2代表成功了。
这是群晖会说整列已降级运行。
从md2中移除sdb3分区:mdadm /dev/md2 -r /dev/sdb3
提示:mdadm: hot removed
/dev/sdb3
from
/dev/md2
2. 修改23GB磁盘的分区表:fdisk /dev/sdb
按p打印当前分区信息,一定要记住现在的分区信息,后面要用:
Command (m for help): p
Disk /dev/sdb: 120 GiB, 128849018880 bytes, 251658240 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xe2700574
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 4982527 4980480 2.4G fd Linux raid autodetect
/dev/sdb2 4982528 9176831 4194304 2G fd Linux raid autodetect
/dev/sdb3 9437184 66904063 57466880 27.4G fd Linux raid autodetect
输入:d删除分区,默认删除最后一个。按回车。再输入w回车保存。
然后关闭群晖。将ESXi中的DSM虚拟机的磁盘改为500GB.
开机后,putty连接群晖: sudo -i
现在再运行: fdisk /dev/sdb
打印分区,可以看到只有2个分区。
我们把最后一个分区添加上,输入n回车,询问分区类型,直接回车,默认主分区。
询问起始扇区:输入9437184,就是原来第三分区的起始扇区,默认不是这个,一定记得输入。
回车后结束山区啥的都默认就可以了。
输入w保存分区表。
3. 将这快盘的三个分区挂载到群晖的md0,md1,md2上去。
#mdadm /dev/md0 -a /dev/sdb1
#mdadm /dev/md1 -a /dev/sdb2
#mdadm /dev/md2 -a /dev/sdb3
挂载成功,每个语句都会提示:mdadm: added /dev/sdb3 这样的。
然后去到群晖存储管理员,会看到一个提示说,空间可以升级到500GB。如下图:点击管理-》扩充即可,然后会提示数据扩充中,这个时间会比较久。完成了容量就变500GB了。
4. 我急用没时间等他,我将sdb3离线后,也显示有500GB可以用了。先不管他了。
5.这样弄有个问题,因为我原来的群晖是一个单盘的JBOD模式,这样操作后就变不回去原来的模式了。群晖的RAID级别只能升不能降级。
6. 如果你的数据非常重要,记得备份了再操作,不然出了问题就不好了!!!!