在做LINUX的维护过程中,经常遇到磁盘空间满的情况,如果当初对磁盘的规划未处理好,处理磁盘空间满的问题将是一个比较麻烦的问题,当时安装时系统是直接做磁盘分区挂载,未用LVM( Logical Volume Manager)管理磁盘, 这时磁盘空间满,需要新增加磁盘后还要将空间满的磁盘中的文件迁移到新增加的磁盘中,这将是一个漫长的过程,尤其对于生产任务的非常重要的机器,这项任务完成起来更是非常苦难。
如果当时安装系统使用LVM管理磁盘,这时处理磁盘空间满的问题,将是一个非常轻松的任务。下面简要讲一下LVM怎么管理磁盘,对于新增加的硬盘
第一步 运行命令fdisk命令,对磁盘进行分区,
fdisk /dev/sdb
Command (m for help): n ## 新建Command actione extendedp primary partition (1-4)p ## 主分区 Partition number (1-4): 1 ## 分区号First cylinder (1-1044, default 1): ## 回车用默认的1Last cylinder, +cylinders or +size{K,M,G} (1-1044, default 1044): +1G ## 大小
第二步更改刚创建分区的类型,正常LVM的类型为8e
Command (m for help): t ## 改变类型
Selected partition 1
Hex code (type L to list codes): 8e ## LVM 的分区代码
Changed system type of partition 1 to 8e (Linux LVM)
第三步,创建PV
pvcreate /dev/sdb1
创建成功后,使用pvdisplay进行查看
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size 1.01 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID jszvzz-ENA2-g5Pd-irhV-T9wi-ZfA3-0xo092
第四步创建VG
vgcreate vg-www /dev/sdb1 第一个参数vg-www是VG的名称,这个可以任意起名,便于记忆就可以,第二个参数 /dev/sdb1, 是PV的名称,
创建完成之后,可以使用vgdisplay进行查看
--- Volume group ---
VG Name vg-www
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 1.01 GiB
PE Size 4.00 MiB
Total PE 258
Alloc PE / Size 0 / 0
Free PE / Size 258 / 1.01 GiB
VG UUID bwd2pS-fkAz-lGVZ-qc7C-TaKv-fFUC-IzGNBK
第五步创建LV
lvcreate -L 1G -n lv-www vg-www
第一个参数-L 是创建LV的空间大小, -n是LV的名称, 最后vg-www是VG的名称
创建完成之后,使用命令lvdisplay查看
# lvdisplay
--- Logical volume --- LV Name /dev/vg-www/lv-www VG Name vg-www LV UUID YNQ1aa-QVt1-hEj6-ArJX-I1Q4-y1h1-OFEtlW LV Write Access read/write LV Status available# open 0 LV Size 1000.00 MiB Current LE 25 Segments 1 Allocation inherit Read ahead sectors auto- currently set to 256 Block device 253:2
第六步,对创建好的LV进行文件系统的格式化,格式化完成之后就可以使用该分区,进行mount
mkfs.ext4 /dev/vg-www/lv-www
第七步:使用LV
mount /dev/vg-www/lv-www /www
通过以上步骤完成了对新磁盘的LVM管理,具体在使用过程出现的PV VG LV之间的关系如下图