
linux服务器通过multipath多路径连接到共享存储,那么当文件系统空间不足的时候,有几种方式可以扩展文件系统的大小:
1、pv不变,原lun存储扩大容量,扩大lv,扩大文件系统
2、新增pv,加入到vg中,扩大lv,扩大文件系统
下文是针对场景1的情况下如何 *** 作(但是个人建议采取新建pv的方式2进行):
Environment
If you have this specific scenario, you can use the following steps:
Note: if these lv's are part of a clustered vg, steps 1 and 2 need to be performed on all nodes. 注意:集群模式下步骤1和步骤2两个节点都需要执行。
1) Update block devices
Note: This step needs to be run against any sd devices mapping to that lun. When using multipath, there will be more than one. 通过multipath -ll命令查看每个聚合卷对应的路径。
2) Update multipath device
例子:
3) Resize the physical volume, which will also resize the volume group
4) Resize your logical volume (the below command takes all available space in the vg)
5) Resize your filesystem
6) Verify vg, lv and filesystem extension has worked appropriately
模拟存储端扩容testlv增加
查看客户端多路径情况
客户端更新存储
更新聚合设备
更新pv空间
更新lv空间
更新文件系统空间
一、扩展逻辑卷 *** 作是在root下,所以先切换到root :sudo su 1、扩展逻辑卷前请先 卸载设备和挂载点的关联 umount /linuxmount 2、把逻辑卷vol由原先设置的 144MB 扩展到250MB 然后由 250MB 扩展到290MB 3、检查硬盘完整性 检查一定要在前面:e2fsck -f /dev/store/vol 4、重置硬盘容量 resize2fs /dev/store/vol 5、重新挂载硬盘设备,并查看挂载状态 二、缩小逻辑卷 相对于扩展逻辑卷,缩小逻辑卷对逻辑卷的 *** 作,其丢失数据的风险更大。在实际生产中,首先 应该先备份数据。 在Linux系统中,缩小逻辑卷前,也要先卸载设备 和挂载点的关联,其次先要检查文件系统的完整性,然后才能缩小逻辑卷。 目的:保证数据的安全 1、先卸载设备和挂载点的关联 umount /linuxmount 2、检查文件系统的完整性 e2fsck -f /dev/store/vol 3、把逻辑卷vol 由 292MB 缩小到 120MB 重置文件系统容量 resize2fs /dev/store/vol 120M 缩小逻辑卷 lvreduce -L 120M /dev/store/vol 会提醒:是否缩小逻辑卷 4、重新挂载文件系统并查看系统状态 mount -a df -h 扩展与缩小逻辑卷的总结: 扩展:卸载挂载点关联-——>扩展逻辑卷-——>检查硬盘完整性——>重置硬盘——>重新挂载硬盘,查看挂载状态 缩小:卸载挂载点关联——>检查硬盘完整性——>重置硬盘——>缩小逻辑卷——>重新挂载硬盘,查看系统状态 三、逻辑卷快照 LVM具有“快照卷”功能,类似于虚拟机软件的快照功能,还原软件的时间点功能。 对某一逻辑卷进行一次快照,若以后数据改错了,可以利用做好的快照卷进行覆盖还原。 1、LVM的快照卷的特点: 1)、快照卷的容量与逻辑卷的容量 2)、快照卷的有效性就一次,一旦执行后会立即自动删除。 2、开始快照卷 1)、首先查看卷组的信息 :vgdisplay 2)、向逻辑卷所挂载的目录中写入一个文件 即向/linuxmount中写入一个文件 echo "Welcome to XiaoGua.com" >/linuxmount/README.txt ls -l /linuxmount 3)、生成快照 -s -n SPIC -L 指定切割的大小 最后加上针对哪个逻辑卷进行的快照复制 lvcreate -L 120M -s -n -SPIC /dev/store/vol 查看现存的快照卷 lvdisplay 着重看新创建的快照卷 4)、在逻辑卷所挂载的目录下创建一个垃圾文件,100MB ,观察快照卷的状态。 a、创建一个垃圾文件:dd if=/dev/zero of=/linuxmount/files count=1 bs=100MB b、查看快照卷SPIC状态:lvdisplay 占用的空间变大了,由0.01%变为 79.87% 5)、对逻辑卷进行快照还原 *** 作。 a、执行前,要先卸载挂载关联 umount /linuxmount b、执行还原 *** 作:转变合并 lvconvert --merge /dev/store/SPIC 如果出现下述两个警告:说明lvmpolld服务没有开启 解决:systemctl start lvm2-lvmpolld.service 6)、快照自动删除了,垃圾文件也清除了,还原到上一个状态 四、删除逻辑卷 删除之前,首先要做好备份,先卸载挂载关联 删除逻辑卷的顺序:删除逻辑卷,卷组,物理卷,这个顺序不能乱。 1、删除逻辑卷与目录的挂载关联,删除配置文件中的永久生效的设备参数 umount /linuxmount vim /etc/fstab 删除红色框内的一行,esc ,键盘输入:dd 2、删除逻辑卷/dev/store/vol 3、删除卷组 卷组名 4、删除物理卷 /dev/sdb /dev/sdc 5、执行完之后,再依次查看逻辑卷,卷组,物理卷,进行测试 lvdisplay , vgdisplay,pvdisplay 看不到任何信息,证明你是删除成功了这里以Red hat AS4 为例。当磁盘分区发现不够用时,能想道的第一个做法就是增加分区大小。但是一般Linux如果没有采用逻辑卷管理,则动态增加分区大小很困难,一个能想道的办法就是,备份分区文件系统数据,删除分区,然后再重新创建分区,恢复备份的文件系统,这个做法比较玄,可能删除分区后导致系统无法启动。第二个做法就是,创建一个新的逻辑分区(当然必须有未使用的磁盘空间能分配),将文件系统从老分区拷贝到新分区,然后修改fstab,使用新分区/文件系统替换老的分区/文件系统
第三种做法是,创建一个新的逻辑分区,将新的逻辑分区格式化ext3(或其他类型)的文件系统,mount到磁盘空间不够的文件系统,就跟原来的分区/文件系统一样的使用。
这里采用的是第三种方式:
sdb为第二个SCSI硬盘。
[root@hdp0 hadoop]# /sbin/fdisk /dev/sdb
The number of cylinders for this disk is set to 8942.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): p
Disk /dev/sdb: 73.5 GB, 73557090304 bytes
255 heads, 63 sectors/track, 8942 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 130 1044193+ 83 Linux
/dev/sdb2 131 391 2096482+ 82 Linux swap
/dev/sdb3 392 521 1044225 83 Linux
/dev/sdb4 522894267641682+ 5 Extended
/dev/sdb5 522 586 522081 83 Linux
/dev/sdb6 587 651 522081 83 Linux
/dev/sdb7 6521173 4192933+ 83 Linux
可以看出sdb1,2,3为主分区,sdb4为扩展分区。后面的sdb5,6,7则为逻辑分区。柱面编号(Start,End)是连续的,sdb7只用道了1173,而从扩展分区看最大到8942,也就是说,还有7769个柱面是空闲的,一个柱面大小为8225280,约为8M大小。还剩7769*8225280bytes,约62G未使用。
新增加一个逻辑分区(注:若涉及到主分区和扩展分区,实际情况可能比这个复杂,这里4个主分区(包括扩展分区)都分过了,所以只能分逻辑分区)
Command (m for help): n
First cylinder (1174-8942, default 1174):
Using default value 1174
增加大小为10G
Last cylinder or +size or +sizeM or +sizeK (1174-8942, default 8942): +10240M
增加后看一下,多了一个逻辑分区/dev/sdb8
Command (m for help): p
Disk /dev/sdb: 73.5 GB, 73557090304 bytes
255 heads, 63 sectors/track, 8942 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 130 1044193+ 83 Linux
/dev/sdb2 131 391 2096482+ 82 Linux swap
/dev/sdb3 392 521 1044225 83 Linux
/dev/sdb4 522894267641682+ 5 Extended
/dev/sdb5 522 586 522081 83 Linux
/dev/sdb6 587 651 522081 83 Linux
/dev/sdb7 6521173 4192933+ 83 Linux
/dev/sdb81174241910008463+ 83 Linux
可以看到,增加了一个sdb8的分区,柱面号从1174到2419.
写入分区表,执行分区 *** 作
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
分区完后,是看不到文件系统的
[root@hdp0 hadoop]# df -m
Filesystem 1M-块已用 可用 已用% 挂载点
/dev/sdb1 1004 582 372 62% /
none 1014 0 1014 0% /dev/shm
/dev/sdb3 1004 807 147 85% /home
/dev/sdb5 49411 458 3% /opt
/dev/sdb7 4031 3272 554 86% /usr
/dev/sdb6 49487 382 19% /var
重启机器
reboot
格式化文件系统
[root@hdp0 hadoop]#/sbin/mkfs.ext3 /dev/sdb8
mount文件系统,/home/develop 为/home下一目录
[root@hdp0 hadoop]#mount /dev/sdb8 /home/develop
查看文件系统,可以看到新建立的分区/文件系统已经挂载上,能够使用了。
[root@hdp0 hadoop]# df -m
Filesystem 1M-块已用 可用 已用% 挂载点
/dev/sdb1 1004 582 372 62% /
none 1014 0 1014 0% /dev/shm
/dev/sdb3 1004 807 147 85% /home
/dev/sdb5 49411 458 3% /opt
/dev/sdb7 4031 3272 554 86% /usr
/dev/sdb6 49487 382 19% /var
/dev/sdb8 962154 9079 1% /home/develop
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)