linux的LVM 具体配置过程

LVM:
几个基本概念
PV   Physical Volume   (物理卷)就是实体磁盘   利用fdisk等软件,将他们的ID改为LVM(8e)并修改磁盘的相关信息,让他们成为LVM可用的磁盘
实体磁盘的ID 可以通过fdisk -l来查看,通常83是linux的partition,82是swap的代号 我们需要的是PV ID:8e
     PV实施过程:fdisk修改ID,以pvcreate建立成PV
     建立 PV 与 PV 的查询:
     要建立 PV 其实很简单,只要直接使用 pvcreate 即可!我们来谈一谈与 PV 有关的指令吧!
     • pvcreate :将实体 partition 建立成为 PV ;
     • pvscan :搜寻目前系统里面任何具有 PV 的磁盘;
     • pvdisplay :显示出目前系统上面的 PV 状态;
     • pvremove :将 PV 属性移除,让该 partition 不具有 PV 属性。
     • partprobe :这个指令可以让核心立刻读入最新的 partition table 而不必 reboot。
       fdisk /dev/hda
       command (m for help):p   这里p是查看磁盘分区的相关情况
       command (m for help):t   更换磁盘分区的ID号
       partition number(1-4):1   选择相应的磁盘分区1
       Hex code(type L to list codes):8e   输入ID号:8e
       command (m for help):t   更换磁盘分区的ID号
       partition number(1-4):2   选择相应的磁盘分区2
       Hex code(type L to list codes):8e   输入ID号:8e
       command (m for help):p   查看修改ID后磁盘分区的相关情况
       Command (m for help): w   保存配置
       partprobe   这个指令可以让核心立刻读取最新的partition table

       [root@linux ~]# pvscan
        No matching physical volumes found
       [root@linux ~]# pvcreate /dev/hdb1
        Physical volume "/dev/hdb1" successfully created
       [root@linux ~]# pvcreate /dev/hdb2
        Physical volume "/dev/hdb2" successfully created
       [root@linux ~]# pvscan
        PV /dev/hdb1 lvm2 [9.31 GB]
        PV /dev/hdb2 lvm2 [9.31 GB]
        Total: 2 [18.63 GB] / in use: 0 [0 ] / in no VG: 2 [18.63 GB]
VG   Volume Group  (卷组)  通过将一个或多个PV组合成一个大磁盘,最大容量值与底下的PE有关,如果完全使用LVM的预设参数,那么一个最大的LVM磁盘可达到256G
     VG实施过程:利用vgcreate加入多个PV成为VG
       建立 VG 及 VG 相关的指令也不少,我们来看看:
       • vgcreate :就是主要建立 VG 的指令啦!他的参数比较多,等一下介绍。
       • vgscan :搜寻系统上面是否有 VG 存在?
       • vgdisplay :显示目前系统上面的 VG 状态;
       • vgextend :在 VG 内增加额外的 PV ;
       • vgreduce :在 VG 内移除 PV;
       • vgchange :设定 VG 是否启动 (active);
       • vgremove :删除一个 VG 啊!
     先建立 VG 吧!
       [root@linux ~]# vgcreate vbirdvg /dev/hdb1 /dev/hdb2     创建一个VG,用两个PV
        Volume group "vbirdvg" successfully created
        # 整个 vgcreate 的语法很简单,就是利用 vgcreate VGname PVname1 PVname2..
        # 不过,如果想要修改前面提到的 PE 参数时,就得要加入 -s PE 数值了!
        [root@linux ~]# vgscan     查看具体VG参数
        Reading all physical volumes. This may take a while...
        Found volume group "vbirdvg" using metadata type lvm2
        [root@linux ~]# vgdisplay
         --- Volume group ---
         VG Name vbirdvg
         System ID
         Format lvm2
         Metadata Areas 2
         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 2
         Act PV 2
         VG Size 18.62 GB
         PE Size 4.00 MB
         Total PE 4768
         Alloc PE / Size 0 / 0
         Free PE / Size 4768 / 18.62 GB
         VG UUID AZRSJx-FWYF-UIlH-NCh5-NqKS-f4gx-ZR049N
         [root@linux ~]# vgreduce vbirdvg /dev/hdb2      从VG中去掉一个PV
         Removed "/dev/hdb2" from volume group "vbirdvg"
         [root@linux ~]# vgextend vbirdvg /dev/hdb2      从VG中增加一个PV
         Volume group "vbirdvg" successfully extended

PE   在建立VG的时候,我们同时需要指定PE这个数值,预设是4MB;PE为4MB,VG则为256G(一个VG最大可以容许65534的PE,所以修改PE值,当然就会影响到最大的VG容量)
LV   这个就是最后被挂载到档案系统的partition,这个LV是由VG分割来的
     LV实施过程:利用lvcreate分割VG成为一个或多个LV
        • lvcreate :建立 LV 啦!
        • lvscan :查询系统上面的 LV ;
        • lvdisplay :显示系统上面的 LV 状态啊!
        • lvextend :在 LV 里面增加容量!
        • lvreduce :在 LV 里面减少容量;
        • lvremove :删除一个 LV !
        • lvresize :对 LV 进行容量大小的调整!
       [root@linux ~]# lvcreate -L [sizeMG] -n [LVname] VGname
       参数:
       -L :后面接容量,容量的单位可以是 M, G 等等;
       -n :后面接的就是 LV 的名称啦!
       更多的说明应该可以自行查阅吧! man lvcreate
       [root@linux ~]# lvcreate -L 18.62G -n vbirdlv vbirdvg
       Rounding up size to full physical extent 18.62 GB
       Logical volume "vbirdlv" created
       [root@linux ~]# ll /dev/vbirdvg/vbirdlv
        lrwxrwxrwx 1 root root 27 Nov 14 21:10 /dev/vbirdvg/vbirdlv ->
        /dev/mapper/vbirdvg-vbirdlv
       # 看见了没有啊!?这就是我们最重要的一个玩意儿了!
       # 未来所有要挂载的数据,通通是透过这个装置的!
       [root@linux ~]# lvscan
       ACTIVE '/dev/vbirdvg/vbirdlv' [18.62 GB] inherit
       [root@linux ~]# lvdisplay
       --- Logical volume ---
       LV Name /dev/vbirdvg/vbirdlv
       VG Name vbirdvg
       LV UUID B6kSrg-9LMG-gqVy-jjz8-x0gM-ya9S-XLFcZN
       LV Write Access read/write
       LV Status available
       # open 0
       LV Size 18.62 GB
       Current LE 4767
       Segments 2
       Allocation inherit
       Read ahead sectors 0
       Block device 253:0
透过PV ,VG,LV的规划,再利用mkfs(mke2fs -j)等等就可以将您的多个partition整合成为一个大磁盘,再利用这个大磁盘来分割与格式化。
这个大磁盘可以增加,减少容量的变化,也就是说,VG大磁盘可以抽换PV,并且原有的数据,理论上不会受影响。
     最后实施过程:分割LV逻辑partition,然后格式化,直接挂载到LINUX的档案系统中。
        partition 的格式化与挂载!
        [root@linux ~]# mke2fs -j /dev/vbirdvg/vbirdlv
        [root@linux ~]# mkdir /mnt/lvm
        [root@linux ~]# mount -t ext3 /dev/vbirdvg/vbirdlv /mnt/lvm
        [root@linux ~]# df  查看分区情况
        [root@linux ~]# fdisk -l /dev/hdb  查看/dev/hdb的具体分区和使用情况
 
让原有的 LVM 磁盘加大的方法: resize2fs
        1. 将欲处理的 LV 卸载; 
           umount /mnt/lvm
        2. 建立 PV;
           [root@linux ~]# fdisk /dev/hdb
           Command (m for help): t
           Partition number (1-4): 3
           Hex code (type L to list codes): 8e
           Changed system type of partition 3 to 8e (Linux LVM)
           Command (m for help): w
           The partition table has been altered!
           [root@linux ~]# partprobe
           [root@linux ~]# pvcreate /dev/hdb3
        3. 将建立的 PV 以 vgextend 增加到 VG 当中;
           [root@linux ~]# vgextend vbirdvg /dev/hdb3
        4. 利用 lvextend 增加刚刚 VG 所增加的容量;
           lvextend -L +10G /dev/vbirdvg/vbirdlv
        5. 利用 resize2fs 将 LV 的容量确实增加!
           [root@linux ~]# mount -t ext3 /dev/vbirdvg/vbirdlv /mnt/lvm
           [root@linux ~]# resize2fs [-f] [device] [size]
           [root@linux ~]# umount /mnt/lvm
           [root@linux ~]# resize2fs -f /dev/vbirdvg/vbirdlv
           [root@linux ~]# mount -t ext3 /dev/vbirdvg/vbirdlv /mnt/lvm

 另外,如果你想要将 LVM 移除的话,那么就应该要:
        1. 先卸载系统上面的 LVM 扇区;
        2. 使用 lvremove 移除 LV ;
        3. 使用 vgchange -a n VGname 让 VGname 这个 VG 不具有 Active 的标志;
        4. 使用 vgremove 移除 VG:
        5. 使用 pvremove 移除 PV;
        6. 最后,使用 fdisk 修改 ID 回来啊!

本文出自 “wxfxn2000” 博客,谢绝转载!

你可能感兴趣的:(linux,linux,职场,lvm,休闲)