曾经何时,阿里云升级磁盘只能购买一块新的磁盘,这样老的磁盘大小不够的时候,只能被丢弃然后购买一块更大的磁盘。独立云磁盘推出后虽然可以随时释放老的磁盘了,但是数据迁移也是个大问题。终于,阿里云推出磁盘扩容功能,今天测试了一把无损扩容磁盘分区,记录下来分享大家。
由于涉及到磁盘操作,强烈建议操前创建一个自定义快照做个备份,数据无价,一个操作毁一生~~
如下,是一个7G的非LVM分区(LVM磁盘的扩容,只需要扩容物理磁盘,通过vgchange -a n vgname取消vg激活状态,通过fdisk等工具将新扩容的部分创建为一个新的分区,然后通过vgchange -ay vgname激活vg,将新的分区加入到vg中即可。)
从控制台扩容到8G,然后从控制台重启VM使新的磁盘尺寸生效(测试独立云磁盘,从控制台卸载后重新挂载也可生效,对无法重启的服务器可以用这招)
重启后查看,磁盘已经8G了,但是原来的/dev/xvdc1分区依然是7G
为了测试是否是真的无损,我们先在这个7G的分区下,创建一个内容为test的文件
1 |
[root@AY140627175005145240Z ~] # cd /mnt/
|
2 |
[root@AY140627175005145240Z mnt] # echo "test">>test.txt
|
保险起见,操作前,先对这个分区做一次检测:
1 |
[root@AY140627175005145240Z ~] # fsck -f /dev/xvdc1
|
完成后,进行最重要的一步:“删除现在的分区,重新分区”
按d删除现在的分区1,注意:删除后千万不要按w保存!直接按n创建新的分区,然后从原有的柱面开始,一直分到最后的尺寸(默认值两次回车即可,如果之前的分区不是从第一柱面开始,则需要记录之前分区的起始柱面),新的分区操作完毕后,按w保存。
1 |
[root@AY140627175005145240Z ~] # fdisk /dev/xvdc < <EOF
|
操作完毕后,重新通过fsck -f /dev/xvdc1检测一下磁盘
然后通过resize2fs重新定义分区大小
1 |
[root@AY140627175005145240Z ~] # resize2fs /dev/xvdc1
|
2 |
resize2fs 1.41.12 (17-May-2010) |
3 |
Resizing the filesystem on /dev/xvdc1 to 2096474 (4k) blocks. |
4 |
The filesystem on /dev/xvdc1 is now 2096474 blocks long. |
重新挂载分区,查看分区已经变成8G了
1 |
[root@AY140627175005145240Z ~] # mount /dev/xvdc1 /mnt/
|
2 |
[root@AY140627175005145240Z ~] # df -h
|
3 |
Filesystem Size Used Avail Use% Mounted on |
4 |
/dev/xvdb1 20G 7.5G 12G 41% / |
5 |
tmpfs 938M 0 938M 0% /dev/shm |
6 |
/dev/xvdb1 20G 7.5G 12G 41% /alidata |
7 |
/dev/xvdc1 7.9G 144M 7.4G 2% /mnt |
查看之前分区里面的文件,依然完好
1 |
[root@AY140627175005145240Z ~] #
|
2 |
[root@AY140627175005145240Z ~] # cd /mnt/;cat test.txt
|
1
|
Windows 操作(03 08等版本操作方法一致,2003需要先在磁盘上右键将磁盘转为动态磁盘才会有扩展的选项)
|
如下,是一个6G的小磁盘
扩容到7G
控制台重启后新的磁盘容量生效
重启后如果扩容出来的分区变成了RAW的分区,删除即可。然后在老的磁盘分区上右键,选择扩展分区(扩展卷),选择多出来的1G空间后下一步确认。
这时候会提示,是否将磁盘转换为动态磁盘,这里选择是,不会影响数据。
完成后,原来的6G小分区,就变成了7G大分区了~~
时间: 2024-10-27 05:58:00