Roamvalley 发表于 2014-3-4 13:15

扩充逻辑卷

最近安装的debian出了点问题,在硬盘空间规划时,用了一个系统推荐的逻辑卷布局,结果根目录 / 只被分配了几百MB。
而安装完后的系统再安装一些软件包时,会在类似 /opt 目录下创建一些动态和静态的目录文件,因而空间不够用导致安装失败。

只好临时插上U盘,给现有的逻辑卷动态扩充容量。
U盘插上后:


1、查看现有状况:
fdisk -l
可以看到U盘为 /dev/sdb2
还会列出已经挂载的各逻辑卷,我的根目录所对应的卷为
/dev/mapper/localhost-root
这个是debian初始安装时自动分配的名称,其中 localhost是逻辑卷组(vg)名,root是逻辑卷(lv)名

2、将U盘创建为物理卷(pv):
fdisk /dev/sdb
选择 'n', 创建一个主分区
选择 'w',保存
fdisk -l
发现U盘为 /dev/sdb1
pvcreate /dev/sdb1
此时 /dev/sdb1为新的物理卷(pv)

3、将U盘物理卷添加到根目录卷组(vg):
vgextend localhost /dev/sdb1
这里localhost是我硬盘的逻辑卷组(vg)名

4、扩展逻辑卷(lv)容量:
我的U盘有32GB,但只是临时扩展一下,所以只需要扩容1GB(如果要把U盘全部容量都扩展进来,比较耗时)
lvextend -L +1GB /dev/mapper/localhost-root
完成后,根目录所挂在的卷已经增加了1GB空间,但此时在文件系统上,根目录空间还未变化,需要做最后一步:
resize2fs /dev/mapper/localhost-root
这个运行完后,容量成功

这里要注意一点:
U盘的实际文件系统格式FAT32,我没动过它,卷管理系统支持各种文件系统格式。
卷系统可以看作一个真实文件系统和虚拟文件系统间的隔离层,它把底层多块硬盘/U盘等实际存储介质打包成一个统一的抽象存储器,我们的系统是运行在这个抽象存储器之上。

kissoo 发表于 2014-3-4 13:19

膜拜lz

zhmingwh 发表于 2014-3-4 13:24

我承认我没看懂:-| ,楼主高人

Roamvalley 发表于 2014-3-4 13:40

没那么复杂,这个是我犯的一个低级错误,不该在安装debian时分了那么多卷和挂载点,最好就是只分为
/boot
/swp
/
三个空间,就不会出这种问题了,很多人为了确保数据安全,喜欢把
/home
/usr
/var
/tmp
之类的都独立划分出来,这样系统目录出问题后, /home下的个人数据还有机会抢救回来。
但这是过时的概念了,现代的文件系统对保护数据方面有了很大的改善。而这样划分大量的挂载点带来的问题就是你很难确定在系统安装完后,各个空间的实际容量需求,往往会出我遇到的这个问题。

逻辑卷的概念是:
你希望有个桶能装下你要用的水(文件/数据),而水的量不确定,目前能装下10升水就够用了。
而你实际拥有若干小桶,总容量能装10升,那么逻辑卷就可以把这若干小桶给你打包成一个抽象的10升大桶,够你现在使用。
当要用更多的水时,你可以临时把几个盘子/勺都插到这个逻辑卷中,你拥有的那个抽象大桶容量也就跟着扩充了。

xliang9550 发表于 2014-3-4 22:01

我以前也是喜欢把挂载点全都独立分区,经常遇到分区爆满的事件。如果使用普通卷,调整分区容量的时候还要修改UUID(位于fstab配置文件)否则无法实现自动挂载。
后来也是图省事,分区尽量简单。因为我还没折腾崩溃过Linux系统。
当使用MBR磁盘时,只分/boot,/和swap。
当使用PMBR引导GPT磁盘的系统时,比上述情况多分一个BIOS Boot。
当使用UEFI引导GPT磁盘的系统时,再多一个ESP,挂载到/boot/efi。

LVM不失为一种灵活的存储策略,今后可以先在虚拟机上试验一下。

lotcor 发表于 2014-4-6 17:24

以前装服务器搞过卷,现在全忘记了..........
页: [1]
查看完整版本: 扩充逻辑卷