阿里云服务器Centos 7数据盘扩充

  • A+
所属分类:课外记录

唉,新手不懂linux,但是为了网站想提高一点数据就来学习一下,今天又遇到坑了,在此记录一下整个过程,希望能帮助更多的人。

在阿里云后台扩容成功后会给到一个提示框,上面写着可以参考该地址来解决扩容,地址如下:

https://help.aliyun.com/document_detail/25452.html?spm=5176.doc25451.6.174.1ZkRGI

看到这个地址就一头雾水,服务器上还有2个网站呢,万一给我一折腾挂了,就功亏一奎了,这时候还是要去做一个备份啊,硬盘有价 数据无价,谨慎操作啊,哈哈哈,在后台做了一个磁盘快照,就准备开始了。

按照步骤已经操作到了第8步了,如下:

  1. 删除原有分区并新建分区。如果此前未分区,直接格式化使用,请直接跳到第 9 步。
    有些用户使用 parted 工具来操作分区,但是 parted 和 fdisk 不能交叉使用的,否则会导致分区的起始扇区不一致的问题。因此删除原有分区建新分区的时候,请按照如下步骤进行操作:
    1). 使用 fdisk -l 罗列一下分区信息并记录一下即将扩容磁盘的最终容量、起始扇区位置。
    2). 使用 fdisk 指令,输入 d 来删除原有的分区。
    3). 依次输入 np1 来新建分区。
    4). 选择 sector 时,在此示例中直接回车选择默认值,您也可以按照自己的需求来选择。为了保证数据的一致性,First sector 建议和之前的分区保持一致。
    下面是使用 fdisk的示例:
  1. root@iZ94lw423m7Z:~# fdisk /dev/xvdb
  2. Command (m for help): d
  3. Selected partition 1
  4. Command (m for help): n
  5. Partition type:
  6.    p   primary (0 primary, 0 extended, 4 free)
  7.    e   extended
  8. Select (default p): p
  9. Partition number (1-4default 1): 1
  10. First sector (2048-146800639default 2048):
  11. Using default value 2048
  12. Last sector, +sectors or +size{K,M,G} (2048-146800639default 146800639):
  13. Using default value 146800639
  14. Command (m for help): wq
  15. The partition table has been altered!
  16. Calling ioctl() to re-read partition table.
  17. Syncing disks.

到这里的时候我就蒙了,这咋操作啊,大概看了一下命令的作用,是做了一个先删除以前的分区再创建一个新的分区,然后会把整个扩容的磁盘容量添加上去,这时我就按照做了,这一次貌似好成功的样子。

看到了与命令的结果差不多,我的结果如下:

可以看到下面

多了一个

Partittion 1 of type Linux and of size 25 Gib is set

大概应该是说份了一个Linux类型的分区,我也不懂怎么与上面的不一致,接着往下就到了如下图所示的提示:

 

当时是真的看不懂啊,我也就默默的跳过了这里,进入了第九步,

”检查文件系统,并变更文件系统大小。
使用 e2fsck 的时候由于系统需要检查并订正文件系统元数据,所以速度较慢、耗时较长,请耐心等待。
使用 e2fsck 和 resize2fs 指令,正确操作情况下,不会造成原有数据丢失的。“

   e2fsck -f /dev/xvdb1
   resize2fs /dev/xvdb1
   这时候我输入了下面一步,这里的结果忘记截图了,反正与上面的不一致,最后我就再输入
  mount /dev/xvdb1 /mnt/dev1
  貌似好像成功了
  最后一步我来查看一下分区有木有扩容好,输入:df -TH,结果心寒如下
 
 我擦,怎么还是15G啊,这时候我该怎么办,我又去后台恢复快照,再来一次,这样重复了3次,还是不行,
蛋疼啊,突然想起了有售后,我就去提交了一个工单,在这里工单省略几千字,说起来都是泪啊,半天给
一个回复,好不容给到一个回复,又给来一个教程地址,又是说照着这个搞等等等,以后再也不找售后了。
   最后没办法还是得自己来搞,咨询了一下以前认识的一个linux开发小伙伴,我描述了一下我的情况后,
他给我推荐了一种叫LVM扩容,听起来好高大上啊,可是我不懂搞,时间又比较急,最后我还是选择阿里云提
供的这种教程,让他指导一下我,我当时就给他看了这个图:

问我以前开始的时候用的什么分的区,我都忘记了,给我说了一下这两个的区别等,然后我决定去试试,
就按照这个套路来再来一波,遇到了使用e2fsck命令时提示:Bad magic number in super-block, 结果
还是一样,没成功啊。。。。。
  到底要怎么搞啊,心都碎了,最后我看到了一篇文章有了一点启示:
https://bbs.aliyun.com/read/272957.html?pos=4
最后又恢复一次来操作,结果还是不行,这到底发生了什么,扩容这么难吗?我擦。。
继续找资料终于找到了一篇貌似不错的文章了,一步一步的操作没想到成功啦。看啊可能效果图:

在这里我记录一下:
  1. 操作前,首先登陆官方后台升级主机,增加需要的硬盘大小。扩容前用df -vh查看挂载状态是:从下面的图中可以看到,目前在用的挂载盘已经用完了,那么刚才在主机商后台购买的10G在哪呢?可以用fdisk -l来查看所有硬盘,有二个盘,结合上面挂载目录可以看出,vda分区为vda1,即30G的系统盘,挂载到/,vdb分区为vdb1,挂载到/home。显然目前我们挂载到/home目录的只有20G,那么新买的10G就是在盘/dev/vdb了。所以,下面就要对这个vdb重新分区与挂载。

  2. 先结束各项服务:[[email protected] ~]#service httpd stop     //使用nginx的结束nginxd[[email protected] ~]#service wdapache stop

    [[email protected] ~]#service mysqld stop

    [[email protected] ~]#fuser -m /home -k    //以上命令是停止服务 fuser -m /.. -k 杀掉所有访问此目录的进程

    [[email protected] ~]#umount /home       //取消原有/home挂载

    [[email protected] ~]#parted /dev/vdb    //输入parted /dev/vdb 这里是磁盘名,表示选择这个盘来作分区操作,如果没有这个程序执行yum install parted 安装!

    GNU Parted 2.1

    使用 /dev/sdb

    Welcome to GNU Parted! Type 'help' to view a list of commands.

    (parted) print  //是显示当前vdb分区的情况

    Model: Virtio Block Device (virtblk)

    Disk /dev/sdb: 20GB

    Sector size (logical/physical): 512B/512B

    Partition Table: msdos

    Number  Start    End    Size   Type     File system  标志

    1          1049kB  9.9G  9.9G  primary  ext4          //记下Start 的大小,下面要用到。

  3. (parted) rm 1    // 删除当前分区,不是说删除原分区下的20G文件。(parted) mkpart   //建立分区分区类型?  primary/主分区/extended/扩展分区? p   //选择是主分区还是扩展分区

    文件系统类型?  [ext2]?       //直接回车

    起始点? 1049kB             //刚才记录的Start大小

    结束点? 100%             //把此盘全部空间用在这个分区

    (parted) quit                //退出分区命令parted

    信息: You may need to update /etc/fstab.

  4. [[email protected] ~]# resize2fs -f /dev/vdb1   //输入resize2fs -f /dev/sdb1,这里是分区名,用以不删除原数据重定义分区的大小,如果提示fsck(修复),请执行后再操作resize2fsresize2fs 1.39 (29-May-2006)Filesystem at /dev/sdb1 is mounted on /home; on-line resizing required

    Performing an on-line resize of /dev/sdb1 to 5242852 (4k) blocks.

    The filesystem on /dev/sdb1 is now 5242852 blocks long.

  5. [[email protected] ~]#mount -a    //重新挂载此分区[[email protected] ~]# df -vh      //再用df –lh 查询下home分区大小,可以看到vdb1已经增加到30G了,原来是20G。最后启动各项服务即可。

    END

注意事项

  • 删除分区后一定要先建立分区再保存,删除后点了保存会导致数据丢失!
  • 该操作有风险,为避免误操作导致数据丢失,操作前请对您的重要数据进行备份!
 
 最后非常感谢这位小伙伴:
http://jingyan.baidu.com/article/fedf0737561b4935ac8977da.html?st=5&net_type=&bd_page_type=1&os=1&rst=
还要感谢指导我的小伙伴,非常用心!

学会分享,让更多人少走弯路。学习继续....

 

 

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: