lvm講解 和磁盤故障小案例

9月27日任務

4.10/4.11/4.12 lvm講解html

4.13 磁盤故障小案例node

 

4.10/4.11/4.12 lvm講解linux

LVM講解centos

LVM是邏輯盤卷管理(Logical Volume Manager)的簡稱,它是Linux環境下對磁盤分區進行管理的一種機制,LVM是創建在硬盤和分區之上的一個邏輯層,來提升磁盤分區管理的靈活性。app

LVM的工做原理其實很簡單,它就是經過將底層的物理硬盤抽象的封裝起來,而後以邏輯卷的方式呈現給上層應用。在傳統的磁盤管理機制中,咱們的上層應用是直接訪問文件系統,從而對底層的物理硬盤進行讀取,而在LVM中,其經過對底層的硬盤進行封裝,當咱們對底層的物理硬盤進行操做時,其再也不是針對於分區進行操做,而是經過一個叫作邏輯卷的東西來對其進行底層的磁盤管理操做。好比說我增長一個物理硬盤,這個時候上層的服務是感受不到的,由於呈現給上層服務的是以邏輯卷的方式。spa

LVM最大的特色就是能夠對磁盤進行動態管理。由於邏輯卷的大小是能夠動態調整的,並且不會丟失現有的數據。若是咱們新增長了硬盤,其也不會改變現有上層的邏輯卷。做爲一個動態磁盤管理機制,邏輯卷技術大大提升了磁盤管理的靈活性。3d

基本的邏輯卷管理概念:orm

PV(Physical Volume)- 物理卷 htm

物理卷在邏輯卷管理中處於最底層,它能夠是實際物理硬盤上的分區,也能夠是整個物理硬盤,也能夠是raid設備。blog

VG(Volumne Group)- 卷組 

卷組創建在物理卷之上,一個卷組中至少要包括一個物理卷,在卷組創建以後可動態添加物理捲到卷組中。一個邏輯卷管理系統工程中能夠只有一個卷組,也能夠擁有多個卷組。

LV(Logical Volume)- 邏輯卷 

邏輯卷創建在卷組之上,卷組中的未分配空間能夠用於創建新的邏輯卷,邏輯卷創建後能夠動態地擴展和縮小空間。系統中的多個邏輯卷能夠屬於同一個卷組,也能夠屬於不一樣的多個卷組。

關係圖以下:

PE(Physical Extent)- 物理塊

LVM 默認使用4MB的PE區塊,而LVM的LV最多僅能含有65534個PE (lvm1 的格式),所以默認的LVM的LV最大容量爲4M*65534/(1024M/G)=256G。PE是整個LVM 最小的儲存區塊,也就是說,其實咱們的資料都是由寫入PE 來處理的。簡單的說,這個PE 就有點像文件系統裏面的block 大小。因此調整PE 會影響到LVM 的最大容量!不過,在 CentOS 6.x 之後,因爲直接使用 lvm2 的各項格式功能,所以這個限制已經不存在了。

具體參考連接 :https://www.cnblogs.com/mchina/p/linux-centos-logical-volume-manager-lvm.html 

命令(輸入 m 獲取幫助):p
磁盤 /dev/sdb:21.5 GB, 21474836480 字節,41943040 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0xfa4f00a2
   設備 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux
/dev/sdb2         2099200     4196351     1048576   83  Linux
/dev/sdb3         4196352     6293503     1048576   83  Linux

命令(輸入 m 獲取幫助):t                           #t更改分區類型
分區號 (1-3,默認 3):1
Hex 代碼(輸入 L 列出全部代碼):8e                 #8e表示lvm類型
已將分區「Linux」的類型更改成「Linux LVM」
命令(輸入 m 獲取幫助):p
磁盤 /dev/sdb:21.5 GB, 21474836480 字節,41943040 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0xfa4f00a2
  設備 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   8e  Linux LVM
/dev/sdb2         2099200     4196351     1048576   8e  Linux LVM
/dev/sdb3         4196352     6293503     1048576   8e  Linux LVM
命令(輸入 m 獲取幫助):w          #設置完畢保存退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盤。
[root@zgxlinux-01 ~]# pvcreate /dev/sdb1
WARNING: ext4 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: y   #提示是否給ext4作簽名
  Wiping ext4 signature on /dev/sdb1.
  Physical volume "/dev/sdb1" successfully created.
[root@zgxlinux-01 ~]# pvcreate /dev/sdb2
  Physical volume "/dev/sdb2" successfully created.
[root@zgxlinux-01 ~]# pvcreate /dev/sdb3
  Physical volume "/dev/sdb3" successfully created.
[root@zgxlinux-01 ~]# pvdisplay               #顯示物理卷屬性
  "/dev/sdb2" is a new physical volume of "1.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb2
  VG Name               
  PV Size               1.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               7tZ50T-CSyl-T3db-yWXk-i9Sm-efFo-W2jdzV
 "/dev/sdb1" is a new physical volume of "1.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name               
  PV Size               1.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               F7yo1d-0SQb-HDuX-CxbJ-aYRT-3HGW-FAPKdv 

  "/dev/sdb3" is a new physical volume of "1.00 GiB"

  --- NEW Physical volume ---
  PV Name               /dev/sdb3
  VG Name               
  PV Size               1.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               XEP3Z8-vAtL-4aNo-4SGq-jHzi-dkiT-4TGlGx
[root@zgxlinux-01 ~]# pvdisplay -s          #-s以短格式顯示物理卷屬性
  Device "/dev/sdb2" has a capacity of 1.00 GiB
  Device "/dev/sdb1" has a capacity of 1.00 GiB
  Device "/dev/sdb3" has a capacity of 1.00 GiB

 

11 、lvm(中)

命令:vgcreate     #建立卷組

[root@zgxlinux-01 ~]# vgcreate vg1 /dev/sdb1 /dev/sdb2   #用兩個物理卷建立一個卷組
  Volume group "vg1" successfully created
命令:vgdisplay   #查看卷組         或者: vgs 
[root@zgxlinux-01 ~]# vgdisplay
  --- Volume group ---
  VG Name               vg1
  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               1.99 GiB
  PE Size               4.00 MiB
  Total PE              510
  Alloc PE / Size       0 / 0   
  Free  PE / Size       510 / 1.99 GiB
  VG UUID               q3lCsU-Vsfv-RsAe-gb5n-ctve-v8e6-42CO86 

[root@zgxlinux-01 ~]# vgs
  VG  #PV #LV #SN Attr   VSize VFree
  vg1   2   0   0 wz--n- 1.99g 1.99g
[root@zgxlinux-01 ~]# lvcreate -L 100M -n lv1 vg1      #從vg1卷組中劃分100M出來爲邏輯卷並命名爲lv1。
  Logical volume "lv1" created.
[root@zgxlinux-01 ~]# mkfs.ext4 /dev/vg1/lv1            #格式化lv1邏輯卷爲ext4格式。
[root@zgxlinux-01 ~]# mount /dev/vg1/lv1  /mnt/    # 掛載到mnt下
[root@zgxlinux-01 ~]# df -h
文件系統             容量  已用  可用 已用% 掛載點
/dev/sda3             28G  1.2G   27G    5% /
devtmpfs             481M     0  481M    0% /dev
tmpfs                492M     0  492M    0% /dev/shm
tmpfs                492M  7.5M  485M    2% /run
tmpfs                492M     0  492M    0% /sys/fs/cgroup
/dev/sda1            197M  102M   95M   52% /boot
tmpfs                 99M     0   99M    0% /run/user/0
/dev/mapper/vg1-lv1   93M  1.6M   85M    2% /mnt
#如何擴容邏輯卷
一、lvresize -L 300M /dev/vg1/lv1   從新設置卷大小
二、e2fsck -f /dev/vg1/lv1  檢查磁盤錯誤 (ext4執行)
三、resize2fs /dev/vg1/lv1  更新邏輯卷(ext4執行)
四、xf_growfs /dev/vg1/lv1    xfs文件系統須要執行
[root@zgxlinux-01 ~]# umount /mnt      #首先卸載掛載
[root@zgxlinux-01 ~]# lvresize -L 300M /dev/vg1/lv1     #增長邏輯分區爲300M
  New size (75 extents) matches existing size (75 extents).
[root@zgxlinux-01 ~]# e2fsck -f /dev/vg1/lv1      #檢查磁盤錯誤
e2fsck 1.42.9 (28-Dec-2013)

第一步: 檢查inode,塊,和大小
第二步: 檢查目錄結構
第3步: 檢查目錄鏈接性
Pass 4: Checking reference counts
第5步: 檢查簇概要信息
/dev/vg1/lv1: 11/25688 files (9.1% non-contiguous), 8896/102400 blocks
[root@zgxlinux-01 ~]# resize2fs /dev/vg1/lv1    #更新邏輯卷
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv1 to 307200 (1k) blocks.
The filesystem on /dev/vg1/lv1 is now 307200 blocks long.
[root@zgxlinux-01 ~]# mount /dev/vg1/lv1 /mnt/     #從新掛載
[root@zgxlinux-01 ~]# df -h
文件系統             容量  已用  可用 已用% 掛載點
/dev/sda3             28G  1.2G   27G    5% /
devtmpfs             481M     0  481M    0% /dev
tmpfs                492M     0  492M    0% /dev/shm
tmpfs                492M  7.5M  485M    2% /run
tmpfs                492M     0  492M    0% /sys/fs/cgroup
/dev/sda1            197M  102M   95M   52% /boot
tmpfs                 99M     0   99M    0% /run/user/0
/dev/mapper/vg1-lv1  287M  2.0M  266M    1% /mnt
#如何縮減邏輯卷 (xfs格式不支持)
一、先umount 
二、efsck -f /dev   /vg1/lv1    檢查磁盤錯誤  (ext)
三、resize2fs /dev/vg1/lv1 100M      更新邏輯卷信息(ext)
四、lvresize -L 100M /dev/vg1/lv1    從新設置卷大小 

[root@zgxlinux-01 ~]# umount /mnt 
[root@zgxlinux-01 ~]# e2fsck -f /dev/vg1/lv1
e2fsck 1.42.9 (28-Dec-2013)
第一步: 檢查inode,塊,和大小
第二步: 檢查目錄結構
第3步: 檢查目錄鏈接性
Pass 4: Checking reference counts
第5步: 檢查簇概要信息
/dev/vg1/lv1: 11/75088 files (9.1% non-contiguous), 15637/307200 blocks
[root@zgxlinux-01 ~]# resize2fs /dev/vg1/lv1 100M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv1 to 102400 (1k) blocks.
The filesystem on /dev/vg1/lv1 is now 102400 blocks long.
[root@zgxlinux-01 ~]# lvresize -L 100M /dev/vg1/lv1
  WARNING: Reducing active logical volume to 100.00 MiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg1/lv1? [y/n]: y
  Size of logical volume vg1/lv1 changed from 300.00 MiB (75 extents) to 100.00 MiB (25 extents).
  Logical volume vg1/lv1 successfully resized.
[root@zgxlinux-01 ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/vg1/lv1
  LV Name                lv1
  VG Name                vg1
  LV UUID                2KAD0z-Ion3-Pwz6-G8dZ-S7DZ-BARe-K9WjWr
  LV Write Access        read/write
  LV Creation host, time zgxlinux-01, 2018-09-24 16:26:34 +0800
  LV Status              available
  # open                 0
  LV Size                100.00 MiB
  Current LE             25
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0   

[root@zgxlinux-01 ~]# mount /dev/vg1/lv1 /mnt/
[root@zgxlinux-01 ~]# df -h
文件系統             容量  已用  可用 已用% 掛載點
/dev/sda3             28G  1.2G   27G    5% /
devtmpfs             481M     0  481M    0% /dev
tmpfs                492M     0  492M    0% /dev/shm
tmpfs                492M  7.5M  485M    2% /run
tmpfs                492M     0  492M    0% /sys/fs/cgroup
/dev/sda1            197M  102M   95M   52% /boot
tmpfs                 99M     0   99M    0% /run/user/0
/dev/mapper/vg1-lv1   93M  1.6M   85M    2% /mnt

 

 

12 、lvm(下)

#如何擴展卷組

一、fdisk /dev/sdb   新增/dev/sdb5 (邏輯分區8e)   2G
2 、pvcreate /dev/sdb5     #建立物理卷
3 、vgextend vg1 /dev/sdb5
四、 lvresize -L 100M /dev/vg1/lv1  從新設置卷大小

 

4.13 、磁盤故障小案例

#修改配置文件fstab配置文件後,登錄界面遇到這個問題,進如配置文件刪除修改配置就能夠了。

相關文章
相關標籤/搜索