7.2.1 部署邏輯卷

2023-05-11 15:52 更新

一般而言,在生產(chǎn)環(huán)境中無法精確地評(píng)估每個(gè)硬盤分區(qū)在日后的使用情況,因此會(huì)導(dǎo)致原先分配的硬盤分區(qū)不夠用。比如,伴隨著業(yè)務(wù)量的增加,用于存放交易記錄的數(shù)據(jù)庫目錄的體積也隨之增加;因?yàn)榉治霾⒂涗浻脩舻男袨閺亩鴮?dǎo)致日志目錄的體積不斷變大,這些都會(huì)導(dǎo)致原有的硬盤分區(qū)在使用上捉襟見肘。而且,還存在對(duì)較大的硬盤分區(qū)進(jìn)行精簡縮容的情況。

我們可以通過部署LVM來解決上述問題。部署LVM時(shí),需要逐個(gè)配置物理卷、卷組和邏輯卷。常用的部署命令如表7-2所示。

表7-2 常用的LVM部署命令

功能/命令 物理卷管理 卷組管理 邏輯卷管理
掃描 pvscan vgscan lvscan
建立 pvcreate vgcreate lvcreate
顯示 pvdisplay vgdisplay lvdisplay
刪除 pvremove vgremove lvremove
擴(kuò)展 vgextend lvextend
縮小 vgreduce lvreduce

為了避免多個(gè)實(shí)驗(yàn)之間相互發(fā)生沖突,請(qǐng)大家自行將虛擬機(jī)還原到初始狀態(tài),并在虛擬機(jī)中添加兩塊新硬盤設(shè)備,然后開機(jī),如圖7-8所示。

在虛擬機(jī)中添加兩塊新硬盤設(shè)備的目的,是為了更好地演示LVM理念中用戶無需關(guān)心底層物理硬盤設(shè)備的特性。我們先對(duì)這兩塊新硬盤進(jìn)行創(chuàng)建物理卷的操作,可以將該操作簡單理解成讓硬盤設(shè)備支持LVM技術(shù),或者理解成是把硬盤設(shè)備加入到LVM技術(shù)可用的硬件資源池中,然后對(duì)這兩塊硬盤進(jìn)行卷組合并,卷組的名稱可以由用戶來自定義。接下來,根據(jù)需求把合并后的卷組切割出一個(gè)約為150MB的邏輯卷設(shè)備,最后把這個(gè)邏輯卷設(shè)備格式化成EXT4文件系統(tǒng)后掛載使用。在下文中,劉遄老師將對(duì)每一個(gè)步驟再作一些簡單的描述。

第1步:讓新添加的兩塊硬盤設(shè)備支持LVM技術(shù)。

  1. [root@linuxprobe ~]# pvcreate /dev/sdb /dev/sdc
  2. Physical volume "/dev/sdb" successfully created
  3. Physical volume "/dev/sdc" successfully created

圖7-8 在虛擬機(jī)中添加兩塊新的硬盤設(shè)備

第2步:把兩塊硬盤設(shè)備加入到storage卷組中,然后查看卷組的狀態(tài)。

  1. [root@linuxprobe ~]# vgcreate storage /dev/sdb /dev/sdc
  2. Volume group "storage" successfully created
  3. [root@linuxprobe ~]# vgdisplay
  4. --- Volume group ---
  5. VG Name storage
  6. System ID
  7. Format lvm2
  8. Metadata Areas 2
  9. Metadata Sequence No 1
  10. VG Access read/write
  11. VG Status resizable
  12. MAX LV 0
  13. Cur LV 0
  14. Open LV 0
  15. Max PV 0
  16. Cur PV 2
  17. Act PV 2
  18. VG Size 39.99 GiB
  19. PE Size 4.00 MiB
  20. Total PE 10238
  21. Alloc PE / Size 0 / 0 Free PE / Size 10238 / 39.99 GiB
  22. VG UUID KUeAMF-qMLh-XjQy-ArUo-LCQI-YF0o-pScxm1
  23. ………………省略部分輸出信息………………

第3步:切割出一個(gè)約為150MB的邏輯卷設(shè)備。

這里需要注意切割單位的問題。在對(duì)邏輯卷進(jìn)行切割時(shí)有兩種計(jì)量單位。第一種是以容量為單位,所使用的參數(shù)為-L。例如,使用-L 150M生成一個(gè)大小為150MB的邏輯卷。另外一種是以基本單元的個(gè)數(shù)為單位,所使用的參數(shù)為-l。每個(gè)基本單元的大小默認(rèn)為4MB。例如,使用-l 37可以生成一個(gè)大小為37×4MB=148MB的邏輯卷。

  1. [root@linuxprobe ~]# lvcreate -n vo -l 37 storage
  2. Logical volume "vo" created
  3. [root@linuxprobe ~]# lvdisplay
  4. --- Logical volume ---
  5. LV Path /dev/storage/vo
  6. LV Name vo
  7. VG Name storage
  8. LV UUID D09HYI-BHBl-iXGr-X2n4-HEzo-FAQH-HRcM2I
  9. LV Write Access read/write
  10. LV Creation host, time localhost.localdomain, 2017-02-01 01:22:54 -0500
  11. LV Status available
  12. # open 0
  13. LV Size 148.00 MiB
  14. Current LE 37
  15. Segments 1
  16. Allocation inherit
  17. Read ahead sectors auto
  18. - currently set to 8192
  19. Block device 253:2
  20. ………………省略部分輸出信息………………

第4步:把生成好的邏輯卷進(jìn)行格式化,然后掛載使用。

Linux系統(tǒng)會(huì)把LVM中的邏輯卷設(shè)備存放在/dev設(shè)備目錄中(實(shí)際上是做了一個(gè)符號(hào)鏈接),同時(shí)會(huì)以卷組的名稱來建立一個(gè)目錄,其中保存了邏輯卷的設(shè)備映射文件(即/dev/卷組名稱/邏輯卷名稱)。

  1. [root@linuxprobe ~]# mkfs.ext4 /dev/storage/vo
  2. mke2fs 1.42.9 (28-Dec-2013)
  3. Filesystem label=
  4. OS type: Linux
  5. Block size=1024 (log=0)
  6. Fragment size=1024 (log=0)
  7. Stride=0 blocks, Stripe width=0 blocks
  8. 38000 inodes, 151552 blocks
  9. 7577 blocks (5.00%) reserved for the super user
  10. First data block=1
  11. Maximum filesystem blocks=33816576
  12. 19 block groups
  13. 8192 blocks per group, 8192 fragments per group
  14. 2000 inodes per group
  15. Superblock backups stored on blocks:
  16. 8193, 24577, 40961, 57345, 73729
  17. Allocating group tables: done
  18. Writing inode tables: done
  19. Creating journal (4096 blocks): done
  20. Writing superblocks and filesystem accounting information: done
  21. [root@linuxprobe ~]# mkdir /linuxprobe
  22. [root@linuxprobe ~]# mount /dev/storage/vo /linuxprobe

第5步:查看掛載狀態(tài),并寫入到配置文件,使其永久生效。

  1. [root@linuxprobe ~]# df -h
  2. Filesystem Size Used Avail Use% Mounted on
  3. /dev/mapper/rhel-root 18G 3.0G 15G 17% /
  4. devtmpfs 905M 0 905M 0% /dev
  5. tmpfs 914M 140K 914M 1% /dev/shm
  6. tmpfs 914M 8.8M 905M 1% /run
  7. tmpfs 914M 0 914M 0% /sys/fs/cgroup
  8. /dev/sr0 3.5G 3.5G 0 100% /media/cdrom
  9. /dev/sda1 497M 119M 379M 24% /boot
  10. /dev/mapper/storage-vo 145M 7.6M 138M 6% /linuxprobe
  11. [root@linuxprobe ~]# echo "/dev/storage/vo /linuxprobe ext4 defaults 0 0" >> /etc/fstab
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)