说明
前几天, 接到有一个客户电话, 服务器硬盘空间不够用了, 要求扩容一块 4T 的硬盘. 这个我真没才生产环境上做过, 所以当时比较慌, 因为客户的 centos7 环境是 dell 服务器销售商给装的, 而且里面使用了 2 块 4T 的硬盘做了 raid1 了. 服务就用了一个 samba 文件共享, 共享目录在 / home/share, 该目录是它们存视频用的共享目录.
现在空间不够用, 就加了一块硬盘, 要为给他们操作下.
分析
系统已经有 raid1 了, 新增的一块 4T 的硬盘, 这个块盘肯定没法做备份了. 而且, centos7 使用的是 xfs 文件系统, 且默认就使用了 lvm 逻辑卷, 该共享目录是挂载到 / home 目录下, 该挂载点逻辑卷信息是, vg 卷组名称是 centos, 挂载 home 的逻辑卷名称为 centos-home.
最终跟客户确定: 第一, 此前系统底层做了 raid1, 您新增的这块硬盘就没有备份了; 第二, centos7 默认使用 xfs 文件系统且您这个 / home/share 共享目录是在逻辑卷上的, 要把这块硬盘加到逻辑卷上就行了, 容量即可增加.
再强调一下: 新增的这块硬盘是没有备份的, 此前做过的 raid1 上的文件是有备份的.
实施
客户听完我说的情况后, 决定就按这样实施. 则我就按老板的同意方案操作了:
硬盘客户都已经断电后, 接入服务器里了. 其实一共就执行了三个命令:
1. 创建 pv
pvcreate /dev/sda# 新增硬盘
即: pvcreate /dev/sda
2. 把创建的新 pv 加入 vg
vgextend 卷组名 /dev/sda
即: vgextend centos /dev/sda
3. 扩容逻辑卷并制作 xfs 文件系统
vextend -r -l +100%FREE /dev / 卷组名 / 逻辑卷名
即: vextend -r -l +100%FREE /dev/centos/centos-home
注意
在这 3 步操作之前, 都要执行 lsblk,fdisk,df -h,vgs 和 pvs 命令, 查看具体情况, 看看是否有变化, 以便保证扩容正确.
而且,
最后
完成后, 查看下 / home 挂载点的空间
使用命令: df -h, 验证空间容量是否增大.
反馈客户操作完成, 在 windows 系统上检查共享文件夹空间是否增加了 3.7T 左右. 4T 是以 1000 字节 = 1K 字节换算单位算的, 实际计算机里是 1024 字节 = 1K 字节, 所有可见的容量大小略小于标称的 4T 容量.
此次临时任务, 圆满完成.
其实, 该客户如果要想新增的硬盘继续使用 raid 备份, 也有多种策略, 如新增 2 块 4T 的硬盘, 先在底层做 raid1, 然后在制作卷组添加到相应的 lvm 上即可. 也可用另 raid5, 新增 3 块硬盘, 做 raid5 后, 再添加到相应的 lvm 上即可. 以上两种 raid 策略, 都能实现完全备份.
来源: http://blog.51cto.com/linsj/2134664