LVM相關使用

前言:

LVM是 Logical Volume Manager(邏輯卷管理)的簡寫,它是Linux環境下對磁盤分區進行管理的一種機制,它由Heinz Mauelshagen在Linux 2.4內核上實現,Linux用戶安裝Linux操作系統時遇到的一個常見的難以決定的問題就是如何正確地評估各分區大小,以分配合適的硬盤空間。普通的磁盤分區管理方式在邏輯分區劃分好之后就無法改變其大小,當一個邏輯分區存放不下某個文件時,這個文件因為受上層文件系統的限制,也不能跨越多個分區來存放,所以也不能同時放到別的磁盤上。而遇到出現某個分區空間耗盡時,解決的方法通常是使用符號鏈接,或者使用調整分區大小的工具,但這只是暫時解決辦法,沒有從根本上解決問題。隨著Linux的邏輯卷管理功能的出現,這些問題都迎刃而解,用戶在無需停機的情況下可以方便地調整各個分區大小。

實驗一:邏輯卷的實現

準備工作,準備磁盤,指定類型 (8e)
1. pvcreate /dev/sda{2,3,4}
2. vgcreate vg0  /dev/sda{2,3,4}
3. lvcreate -n lv0 -L 50%vg  vg0  (vg代替整個卷組   vg0代表的是從哪個卷組名字)
4. mkfs.ext4 /dev/vg0/lv0   (對邏輯卷創建文件系統,不是對整個磁盤)
5. 開機自動掛載,配置/etc/fstab文件
6. mount -a

實驗二:邏輯卷的擴展

準備工作,準備磁盤,指定類型 (8e)
1. pvcreate /dev/sda5
2. vgextend vg0  /dev/sda5  (先后順序: 先vg  再增加的設備)
      -s  指定PE的大小
3. lvextend -L +2G  /dev/vg0/lv0  (增加之后并不會立即增加容量,要做下面工作)
4. xfs_growfs /mnt/lvo   (同步文件系統,后面跟的是掛載點,xfs系統只能增加不減少)
    resize2fs /dev/vg0/lv0  10G  (10跟增加后的容量要一樣, 原來的容量+增加的容量   并且同步ext4文件系統)
   注:如果指定超過容量系統無法識別
       格式必須為:resize2fs  邏輯卷  容量大小 
       如果第3步增加的是2G,但在第4步只指定增加了1G,會成功,增加了1G,
           但還有剩下的1G再去重新指定,就無法指定了(在指定容量一定要注意,實際到底多少容量)
       注:或者3,4合并為一步
          lvextend -r -L +500M /dev/vg0/lv1   — > 自動同步文件系統
       注:前提–>在使用-r的時候,該設備lv1必須有文件系統和掛載上電腦上.否則無法執行
          -r 是自動同步文件系統

實驗三:縮減邏輯卷

注:縮減必須先取消掛載,也有風險,里面存有數據(一定要先備份)
1. umount /mnt/lv1
2. resize2fs /dev/vg0/lv1  2G  (縮減到2G的容量)
   注:在縮減的時候系統會提醒你 檢查文件系統 –> 必須要檢查的 e2fsck -f 
     再執行上面的命令即可 (用lvs查看的時候,容量并沒有減少。)
3. e2fsck -f /dev/vg0/lv1
4. lvreduce -L 2G /dev/vg0/lv1  (這才是真正的減少)
    注:該操作具有危險性,可能對已有的數據產生破壞,會讓用戶確認
5. 重新掛載

實驗四:遷移邏輯卷

  1. umount /mnt/lv0
  2. vgrename vg0  newvg0
  3. lvrename /dev/newvg0/lv0  newlv0
       注:上面2,3是為了防止在其它設備上出現相同名字的設備,所以進行改名操作
  4. vgchange -an newvg0 
       注:把newvg0設置為禁用狀態  a:all   n:no
  5. vgexport newvg0
       注:導出 newvg0 (卷組)
  6. 拆除硬盤,  關機   關機
       插入目標主機中
  7.  pvscan
       掃描
  8.  vgimport newvg0 
       導入
  9.  vgchange -ay newvg0 
       啟用
  10. mkdir /mnt/newlv0
       創建掛載點
  11. mount /dev/newvg0/newlv0  /mnt/newlv0
       掛載

實驗五:從邏輯卷中刪除正在使用的物理分區

刪除邏輯卷   lvremove /dev/VG_NAME/LV_NAME
1. vgdisplay  pvdisplay
2. pvmove  /dev/sda1 (想要拔掉卷組中的某個設備)
   注:移動所占用的空間到相同卷組中的設備上去
      移動的是空間,并不是當中的數據
   注:如果里面是空的,并沒有分配空間,是空的,可以直接刪除
3. vgreduce  vg0  /dev/sda5 
      從vg0組中移除
   注:vgreduce  移除單個
     vgreduce  vg0  /dev/sda5 –>單單移除vg0中的/dev/sda5
     vgremove  移除相關組的全部
     vgreduce  vg0  /dev/sda5 –>在相同vg0組的全部移除
4. pvremove /dev/sda5  
   移除物理卷

實驗六:為邏輯卷創建快照

為現有邏輯卷創建快照 
   lvcreate -L  512M  -s  -n snap-data -p r  /dev/vg0/data (對哪個設備做快照)
      -s  快照
      -p r  設備只讀屬性
      -L  指定其大小
      -n  名字
掛載快照 
   mkdir -p  /mnt/snap 
   mount -o ro /dev/vg0/snap-data  /mnt/snap  (無法進行修改,上面的已經確定了快照的狀態)
   注:掛載快照,工作同步 –> 寫時復制
恢復快照 
   umount /dev/vg0/snap-data 
   umount /dev/vg0/data 
   lvconvert  –merge  /dev/vg0/snap-data 
      –merge 合并
      注:恢復快照之后快照的文件自動刪除(一次性的,恢復之后快照自動刪除)
      恢復的時候,必須全都在非掛載的狀態下,恢復
刪除快照 
    umount /mnt/databackup 
    lvremove /dev/vg0/databackup
   快照 — lv — vg — pv 從上往下刪除

原創文章,作者:_xddggg,如若轉載,請注明出處:http://www.www58058.com/84670

(0)
_xddggg_xddggg
上一篇 2017-08-13
下一篇 2017-08-13

相關推薦

  • 20160802課堂練習題

    練習: 1、  當用戶xiaoming對/testdir 目錄無執行權限時,意味著無法做哪些操作? 無法cd進入該目錄,但可以ls查看到該目錄下的文件,其余的任何操作都執行不了。 2、  當用戶xiaoqiang對/testdir 目錄無讀權限時,意味著無法做哪些操作? 能夠進入該目錄,不能讀取到信息;但如果知道有哪些文件及目錄是可以創建…

    Linux干貨 2016-08-04
  • 自制Linux系統

                          自制Linux系統 1、環境準備:         在centos6上添加一塊新硬盤,并分區格式化。 &n…

    系統運維 2016-09-21
  • 0803課堂練習與作業

    1、當用戶xiaoming對/testdir 目錄無執行權限時,意味著無法做哪些操作? 不能添加在/testdir中增刪改文件或目錄 2、當用戶xiaoqiang對/testdir 目錄無讀權限時,意味著無法做哪些操作? 不能查看文件中的文件列表 3、當用戶wangcai 對/testdir 目錄無寫權限時,該目錄下的只讀文件file1是否可修改和刪除? 不…

    Linux干貨 2016-08-04
  • linux命令簡單應用

    創建/tmp目錄下的:a_c, a_d, b_c, b_d touch /tmp/{a,b}_{c,d} [root@bogon ~]# tree /tmp /tmp |– a_c |– a_d |– b_c |– b_d 創建/tmp/mylinux目錄下的: mylinux/ ├── bin ├── boo…

    Linux干貨 2016-11-06
  • Shell腳本編程—函數

    函數:     把一段獨立功能的代碼當作一個整體,并命名一個名字;命名的代碼段,此即為函數     由若干條shell命令組成的語句塊,實現代碼重用和模式化編程 函數的作用:     在某些場景下,我們可以將獨立功能的一段代碼定義為一個函數…

    Linux干貨 2016-08-24
欧美性久久久久