CentOS平台使用LVM扩展大容量存储(大于16T)
时间:2016-11-24 16:43 来源:linux.it.net.cn 作者:IT
0. 说明
因为公司存储需求的增长,需要在原有服务器上挂载一个大容量存储。原有服务器使用比较久,数据不能动,只能猜用动态扩容的方式进行更改。
操作系统:CentOS 6.7 x86_64
文件系统使用LVM进行管理。
1. 查看现有存储布局
1.1 使用pvdisplay 查看挂载在lvm上的硬盘
显示挂载的设备是/dev/sdb2,还有一个/dev/sda1的新物理设备没有挂载。这次操作就是要将新设备挂载到vg_mail上面。
2. 格式化/dev/sda
因为是大容量存储,传统的mbr分区表格式只能支持最大2T的单个分区不能满足需求,故而才有GPT分区表格式。fdisk工具不支持gpt分区,要使用parted工具。
2.1 安装parted
1
yum install parted
2.2 使用parted查看/dev/sda
因为前面已经对这个存储做过分区,故而显示的分区表格式就是gpt。
2.3 使用parted给硬盘分区
2.4 使用fdisk 设定分区格式,以为要将其加入LVM,故而使用8e标签。
3. 将新硬盘挂添加到vg_mail卷组中。
3.1 创建新物理卷
3.2 将新物理卷添加到vg_mail卷组中
3.3 查看当前逻辑卷
3.4 将新硬盘扩展到lv_root中(26T的硬盘只有23.65T的大小,这帮奸商!!!!)
3.5 使用resize2fs在线扩容分区
3.6 添加成功。
4 New size too large to be expressed in 32 bits问题的解决
3.4 及3.5的步骤在分区超过16T的时候是不会成功的。虽然ext4支持1EB的分区大小,但是CentOS系统中当分区超过16T时执行resize2fs的时候就会报出“New size too large to be expressed in 32 bits”的错误,导致扩容失败。所以第一教训,不要偷懒直接扩容root分区,否则只能关机使用救援盘手动缩小容量,并且一不小心就会导致硬盘挂掉,重装系统了事。(别问我是怎么知道的,我想静静,也别问我静静是谁~~~~~)
4.1 经过上次的失败后,笔者学乖了,将扩充容量放在/home下,这样就可以顺利执行umount命令进行操作。对于超过16T的分区扩展,CentOS下可以使用升级版的e2fsprogs进行操作。具体安装步骤如下:
1
2
3
4
5
6
7
yum install gcc g++ git
git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
cd e2fsprogs
mkdir build ; cd build/
../configure
make
make install
4.2 使用e2fsprogs进行扩容操作(以/home为例)
Shell
1
2
3
4
5
6
7
8
umount /home
lvextend -L +23T /dev/vg_mail/lv_home
e2fsck -f /dev/vg_mail/lv_home
resize2fs /dev/vg_mail/lv_home
mke2fs -O64bit,has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize -i4194304 /dev/vg_mail/lv_home
resize2fs /dev/vg_mail/lv_home
lvdisplay
mount /dev/vg_mail/lv_home /home/
4.3 done。
P.S. 因为该过程实在是经历了很多次,所以前后截图不一致,并非我故意戏弄各位则个。
(责任编辑:IT)
0. 说明 因为公司存储需求的增长,需要在原有服务器上挂载一个大容量存储。原有服务器使用比较久,数据不能动,只能猜用动态扩容的方式进行更改。 操作系统:CentOS 6.7 x86_64 文件系统使用LVM进行管理。 1. 查看现有存储布局 1.1 使用pvdisplay 查看挂载在lvm上的硬盘
显示挂载的设备是/dev/sdb2,还有一个/dev/sda1的新物理设备没有挂载。这次操作就是要将新设备挂载到vg_mail上面。 2. 格式化/dev/sda 因为是大容量存储,传统的mbr分区表格式只能支持最大2T的单个分区不能满足需求,故而才有GPT分区表格式。fdisk工具不支持gpt分区,要使用parted工具。 2.1 安装parted
2.2 使用parted查看/dev/sda
因为前面已经对这个存储做过分区,故而显示的分区表格式就是gpt。 2.3 使用parted给硬盘分区
2.4 使用fdisk 设定分区格式,以为要将其加入LVM,故而使用8e标签。
3. 将新硬盘挂添加到vg_mail卷组中。 3.1 创建新物理卷
3.2 将新物理卷添加到vg_mail卷组中
3.3 查看当前逻辑卷
3.4 将新硬盘扩展到lv_root中(26T的硬盘只有23.65T的大小,这帮奸商!!!!)
3.5 使用resize2fs在线扩容分区
3.6 添加成功。 4 New size too large to be expressed in 32 bits问题的解决 3.4 及3.5的步骤在分区超过16T的时候是不会成功的。虽然ext4支持1EB的分区大小,但是CentOS系统中当分区超过16T时执行resize2fs的时候就会报出“New size too large to be expressed in 32 bits”的错误,导致扩容失败。所以第一教训,不要偷懒直接扩容root分区,否则只能关机使用救援盘手动缩小容量,并且一不小心就会导致硬盘挂掉,重装系统了事。(别问我是怎么知道的,我想静静,也别问我静静是谁~~~~~) 4.1 经过上次的失败后,笔者学乖了,将扩充容量放在/home下,这样就可以顺利执行umount命令进行操作。对于超过16T的分区扩展,CentOS下可以使用升级版的e2fsprogs进行操作。具体安装步骤如下:
4.2 使用e2fsprogs进行扩容操作(以/home为例)
4.3 done。
P.S. 因为该过程实在是经历了很多次,所以前后截图不一致,并非我故意戏弄各位则个。 (责任编辑:IT) |