溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux中怎么創(chuàng)建及管理LVM邏輯卷

發(fā)布時(shí)間:2022-01-24 10:14:14 來源:億速云 閱讀:128 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“Linux中怎么創(chuàng)建及管理LVM邏輯卷”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Linux中怎么創(chuàng)建及管理LVM邏輯卷”吧!

概述

LVM是Linux系統(tǒng)中對(duì)磁盤分區(qū)管理的一種機(jī)制,LVM本質(zhì)上是一個(gè)虛擬設(shè)備驅(qū)動(dòng),LVM邏輯設(shè)備不受物理約束的限制,它不必是連續(xù)的空間,它可以跨越許多物理卷,可以任意的調(diào)整大小。LVM易于磁盤空間的管理。

特點(diǎn)
特點(diǎn)性質(zhì)
物理長(zhǎng)度PE物理長(zhǎng)度是將物理卷組合為卷組后,所劃分的最小存儲(chǔ)單位,即邏輯意義上磁盤的最小存儲(chǔ)單位。LVM默認(rèn)PE大小為4MB。
物理卷PV物理卷是LVM的最底層概念,是LVM的邏輯存儲(chǔ)塊,物理卷與磁盤分區(qū)是邏輯的對(duì)應(yīng)關(guān)系。
卷組VG卷組是LVM邏輯概念上的磁盤設(shè)備,通過將單個(gè)或多個(gè)物理卷組合后生成卷組。卷組的大小取決于物理卷的容量以及個(gè)數(shù)。
邏輯卷LV邏輯卷就是LVM邏輯意義上的分區(qū),可以指定從卷組中提取多少容量來創(chuàng)建邏輯卷,最后對(duì)邏輯卷格式化并掛載使用。

操作流程

 1. fdisk /dev/sdd     #n  新建分區(qū)     #t  轉(zhuǎn)換分區(qū)格式     #8e  將分區(qū)格式轉(zhuǎn)換為8e LVM2格式      2. 創(chuàng)建pv,將扇區(qū)轉(zhuǎn)化為pe,并驗(yàn)證     pvcreate /dev/sdd1 /dev/sde1     pvs  查看pv的信息     pvdisplay 查看pv的信息      3. 創(chuàng)建vg虛擬磁盤     vgcreate mytest /dev/sdd1  /dev/sde1     find / -name mytest #查找并查看vg的配置信息     vgs  查看vg虛擬磁盤的信息     vgdisplay  查看vg虛擬磁盤的信息      4. 創(chuàng)建邏輯分區(qū)     lvcreate -L +5G mytest(vg名稱),創(chuàng)建出一個(gè)分區(qū)默認(rèn)lvol0     find /dev -name lvol0 查找分區(qū)位置/dev/mytest/lvol0,創(chuàng)建分區(qū)時(shí)會(huì)在dev目錄下創(chuàng)建vg命名的目錄      5. 格式化文件系統(tǒng)     mkfs.ext4 /dev/mytest/lvol0      6. 掛載使用     mkdir /root/mylv     mount /dev/mytest/lvol0 ./mylv     1234567891011121314151617181920212223242526

相關(guān)命令

fdisk命令

語法:fdisk 【參數(shù)】 【對(duì)象】

必要參數(shù)

參數(shù)功能
-l列出素所有分區(qū)表
-u與”-l”搭配使用,顯示分區(qū)數(shù)目

選擇參數(shù)

參數(shù)功能
-s指定分區(qū)
-v版本信息

操作說明

參數(shù)功能
m顯示菜單和幫助信息
a活動(dòng)分區(qū)標(biāo)記/引導(dǎo)分區(qū)
d刪除分區(qū)
l顯示分區(qū)類型
n新建分區(qū)
p顯示分區(qū)信息
q退出不保存
t設(shè)置分區(qū)號(hào)
v進(jìn)行分區(qū)檢查
w保存修改
x擴(kuò)展應(yīng)用,高級(jí)功能
pvcreate命令

語法:pvcreate 【選項(xiàng)】 【參數(shù)】

參數(shù)功能
-f強(qiáng)制創(chuàng)建物理卷,不需要用戶確認(rèn)
-u指定設(shè)備的UUID
-y所有的問題都回答“yes”
-Z是否利用前4個(gè)扇區(qū)
vgcreate命令

語法:vgcreate 【選項(xiàng)】 【參數(shù)】

參數(shù)功能
-l卷組上允許創(chuàng)建的最大邏輯卷數(shù)
-p卷組中允許添加的最大物理卷數(shù)
-s卷組上的物理卷的PE大小
lvresize命令

語法:lvresize 【選項(xiàng)】 【參數(shù)】

參數(shù)功能
-L指定邏輯卷的大小,單位為“kKmMgGtT”字節(jié)
-l指定邏輯卷的大?。↙E數(shù))
e2fsck命令

語法:e2fsck 【參數(shù)】 【對(duì)象】

參數(shù)功能
-a檢查 partition,如發(fā)現(xiàn)問題會(huì)自動(dòng)修復(fù)
-b設(shè)定 superblock 位置。 www.2cto.com
-B size指定 size 作為區(qū)塊大小
-c檢查 partition 是否有壞軌
-C file將檢查結(jié)果儲(chǔ)存到 file
-d輸出 e2fsck debug 結(jié)果
-fe2fsck預(yù)設(shè)只會(huì)對(duì)錯(cuò)誤的檔案系統(tǒng)檢查,加上 -f 是強(qiáng)制檢查
-F在檢查前將硬盤的 buffer cache 清空,避免發(fā)生錯(cuò)誤
-l list記錄了壞軌區(qū)塊加入 list 中
-d打印 e2fsck 的 debug 結(jié)果
-f強(qiáng)制檢查
-n以 (read-only) 開啟檔案系
-p關(guān)閉互動(dòng)模式,如有問題自動(dòng)修復(fù),等同 -a
-v顯示詳細(xì)報(bào)告
-y啟用使用者互動(dòng)模式

經(jīng)典案例

案例要求

  • 創(chuàng)建一個(gè)至少有兩個(gè)PV組成的大小為20G的名為mydisk的VG;要求PE大小為16MB, 而后在卷組中創(chuàng)建大小為5G的邏輯卷默認(rèn)名字為lvol0;掛載至/users目錄

  • 新建用戶arc,要求其家目錄為/users/arc,而后su切換至arc用戶,復(fù)制/etc/pam.d目錄至自己的家目錄

  • 擴(kuò)展testlv至7G,要求archlinux用戶的文件不能丟失

  • 收縮testlv至3G,要求archlinux用戶的文件不能丟失

  • 對(duì)testlv創(chuàng)建快照,并嘗試基于快照備份數(shù)據(jù),驗(yàn)正快照的功能

首先在虛擬機(jī)加入2塊10G磁盤,之后利用fdisk命令將磁盤分區(qū)并轉(zhuǎn)換LVM格式

1.首先通過lsblk命令查看磁盤狀態(tài)

 [root@localhost ~]# lsblk NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT sda               8:0    0   45G  0 disk  ├─sda1            8:1    0  500M  0 part /boot └─sda2            8:2    0 44.5G  0 part    ├─centos-root 253:0    0 40.6G  0 lvm  /   └─centos-swap 253:1    0  3.9G  0 lvm  [SWAP] sdb               8:16   0   10G  0 disk  sdc               8:32   0   10G  0 disk  sr0              11:0    1    4G  0 rom  123456789

2.然后利用fdisk命令按要求編輯磁盤

 [root@localhost ~]# fdisk /dev/sdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0xce106979. Command (m for help): n Partition type:    p   primary (0 primary, 0 extended, 4 free)    e   extended Select (default p): p Partition number (1-4, default 1):  First sector (2048-20971519, default 2048):  Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519):  Using default value 20971519 Partition 1 of type Linux and of size 10 GiB is set Command (m for help): t Selected partition 1 Hex code (type L to list all codes): 8e Changed type of partition 'Linux' to 'Linux LVM' Command (m for help): p Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0xce106979 Device Boot      Start         End      Blocks   Id  System /dev/sdb1            2048    20971519    10484736   8e  Linux LVM1234567891011121314151617181920212223242526272829

3.利用相同方式將磁盤sdc更改成LVM格式,最后利用lsbkl命令查看分區(qū)

 [root@localhost ~]# lsblk NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT sda               8:0    0   45G  0 disk  ├─sda1            8:1    0  500M  0 part /boot └─sda2            8:2    0 44.5G  0 part    ├─centos-root 253:0    0 40.6G  0 lvm  /   └─centos-swap 253:1    0  3.9G  0 lvm  [SWAP] sdb               8:16   0   10G  0 disk  └─sdb1            8:17   0   10G  0 part  sdc               8:32   0   10G  0 disk  └─sdc1            8:33   0   10G  0 part  sr0              11:0    1    4G  0 rom  1234567891011

利用pvcreate命令創(chuàng)建pv,并將扇區(qū)轉(zhuǎn)化為pe

1.利用pvcreate命令創(chuàng)建pv

 [root@localhost ~]# pvcreate /dev/sdb1 /dev/sdc1   Physical volume "/dev/sdb1" successfully created.   Physical volume "/dev/sdc1" successfully created.12

2.利用pvs命令查看

 [root@localhost ~]# pvs  PV         VG     Fmt  Attr PSize   PFree    /dev/sda2  centos lvm2 a--  44.00m
  /dev/sdb1         lvm2 ---    /dev/sdc1         lvm2 ---

利用vgcreate命令創(chuàng)建vg虛擬磁盤

1.利用vgcreate命令創(chuàng)建虛擬磁盤

 [root@localhost ~]# vgcreate mydisk -s 16M  /dev/sdb1 /dev/sdc1   Volume group "mydisk" successfully created1

2.利用vgs命令查看創(chuàng)建情況

 [root@localhost ~]# vgs   VG     #PV #LV #SN Attr   VSize   VFree    centos   1   2   0 wz--n- 44.00m
   mydisk   2   0   0 wz--n-  19.99g 19.99g123

接下來需要利用lvcreate命令創(chuàng)建分區(qū)大小為5G

1.首先利用lvcreate命令創(chuàng)建分區(qū),并利用lvs命令查看

 [root@localhost ~]# lvcreate -L +5G mydisk   Logical volume "lvol0" created. [root@localhost ~]# lvs   LV    VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert   root  centos -wi-ao----    swap  centos -wi-ao----     lvol0 mydisk -wi-a-----   5.00g                                                     [root@localhost ~]# 1234567

分區(qū)創(chuàng)建完畢需要對(duì)其進(jìn)行格式化掛載,利用mount命令掛載即可

1.創(chuàng)建掛載點(diǎn)users并創(chuàng)建文件系統(tǒng)之后掛載分區(qū)

 [root@localhost ~]# mkdir users [root@localhost ~]# ls anaconda-ks.cfg  users  [root@localhost users]# mkfs.ext4 /dev/mydisk/lvol0  mke2fs 1.42.9 (28-Dec-2013) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 。。。。。。 Allocating group tables: done                             Writing inode tables: done                             Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done  [root@localhost ~]# mount /dev/mydisk/lvol0 ./users/ [root@localhost ~]# ls anaconda-ks.cfg  users [root@localhost ~]# cd users/ [root@localhost users]# ls lost+found12345678910111213141516171819202122

以上操作結(jié)束后接下來是創(chuàng)建arc用戶

1.創(chuàng)建用戶arc并指定其home目錄,由于在root下操作需要將root目錄更改權(quán)限,最后切換用戶查看并復(fù)制相關(guān)文件

 [root@localhost ~]# chmod 777 /root [root@localhost ~]# useradd -d /root/users/arc arc  [root@localhost ~]# cat /etc/passwd |grep arc arc:x:1003:1003::/root/users/arc:/bin/bash [root@localhost ~]# passwd arc  Changing password for user arc. New password:  BAD PASSWORD: The password is shorter than 8 characters Retype new password:  passwd: all authentication tokens updated successfully.  [root@localhost ~]# ls anaconda-ks.cfg  users [root@localhost ~]# cd users/ [root@localhost users]# ls arc  lost+found  [root@localhost users]# su - arc [arc@localhost ~]$ cp -a /etc/pam.d ./ [arc@localhost ~]$ ls pam.d12345678910111213141516171819202122

接下來是LVM分區(qū)擴(kuò)展收縮操作,以下是操作流程

?擴(kuò)展邏輯卷: #lvextend-L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME #resize2fs /dev/VG_NAME/LV_NAME #lvresize-r -l +100%FREE /dev/VG_NAME/LV_NAME

?縮減邏輯卷: umount/dev/VG_NAME/LV_NAME e2fsck -f /dev/VG_NAME/LV_NAME resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT] lvreduce-L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME mount

1.擴(kuò)展邏輯卷操作如下

 [root@localhost users]# lvextend -L +2G /dev/mydisk/lvol0    Size of logical volume mydisk/lvol0 changed from 5.00 GiB (1280 extents) to 7.00 GiB (1792 extents).   Logical volume mydisk/lvol0 successfully resized. [root@localhost users]# df -h Filesystem                Size  Used Avail Use% Mounted on devtmpfs                  1.9G     0  1.9G   0% /dev tmpfs                     1.9G     0  1.9G   0% /dev/shm tmpfs                     1.9G   12M  1.9G   1% /run tmpfs                     1.9G     0  1.9G   0% /sys/fs/cgroup /dev/mapper/centos-root    41G  1.7G   39G   5% / /dev/sda1                 497M  167M  331M  34% /boot tmpfs                     378M     0  378M   0% /run/user/0 /dev/mapper/mydisk-lvol0  4.8G   21M  4.6G   1% /root/users [root@localhost users]# resize2fs /dev/mydisk/lvol0  resize2fs 1.42.9 (28-Dec-2013) Filesystem at /dev/mydisk/lvol0 is mounted on /root/users; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 1 The filesystem on /dev/mydisk/lvol0 is now 1835008 blocks long.  root@localhost users]# df -h Filesystem                Size  Used Avail Use% Mounted on devtmpfs                  1.9G     0  1.9G   0% /dev tmpfs                     1.9G     0  1.9G   0% /dev/shm tmpfs                     1.9G   12M  1.9G   1% /run tmpfs                     1.9G     0  1.9G   0% /sys/fs/cgroup /dev/mapper/centos-root    41G  1.7G   39G   5% / /dev/sda1                 497M  167M  331M  34% /boot tmpfs                     378M     0  378M   0% /run/user/0 /dev/mapper/mydisk-lvol0  6.8G   23M  6.4G   1% /root/users12345678910111213141516171819202122232425262728

最后是快照操作,流程如下

創(chuàng)建快照 #lvcreate-l 64 -s -n snap-data -p r /dev/vg0/data 掛載快照 #mkdir-p /mnt/snap #mount -o ro/dev/vg0/snap-data /mnt/snap 恢復(fù)快照 #umount/dev/vg0/snap-data #umount/dev/vg0/data #lvconvert–merge /dev/vg0/snap-data 刪除快照 #umount/mnt/databackup #lvremove/dev/vg0/databackup

1.以剛剛創(chuàng)建的arc用戶為例為其創(chuàng)建快照

 [root@localhost users]# lvcreate -l 64 -s -n arc-snap -p rw /dev/mydisk/lvol0    Logical volume "arc-snap" created.1

2.接下來我們可以切換arc用戶進(jìn)行各種操作

 [root@localhost users]# su - arc Last login: Mon Mar 30 22:11:03 CST 2020 on pts/0 [arc@localhost ~]$ ls pam.d [arc@localhost ~]$ echo jahfkjahgsfj > 1 [arc@localhost ~]$ ls 1  pam.d123456

3.現(xiàn)在我們需要掛載快照,查看快照情況

 [root@localhost ~]# mkdir -p /arc/snap [root@localhost ~]# mount -o rw /dev/mydisk/arc-snap /arc/snap/ [root@localhost ~]# cd /arc/snap/ [root@localhost snap]# ls arc  lost+found [root@localhost snap]# cd arc [root@localhost arc]# ls pam.d [root@localhost arc]# 12345678

4.最后我們需要恢復(fù)到快照之前的狀態(tài)

 [root@localhost arc]# cd ~ [root@localhost ~]# umount /dev/mydisk/arc-snap  [root@localhost ~]# umount /dev/mydisk/lvol0  [root@localhost ~]# lvconvert --merge /dev/mydisk/arc-snap    Merging of volume mydisk/arc-snap started.   mydisk/lvol0: Merged: 89.02%   mydisk/lvol0: Merged: 100.00% [root@localhost ~]# 1234567

5.現(xiàn)在我們登錄arc用戶查看情況

 [root@localhost ~]# mount /dev/mydisk/lvol0 ./users/ [root@localhost ~]# su - arc Last login: Mon Mar 30 22:34:55 CST 2020 on pts/0 [arc@localhost ~]$ ls pam.d [arc@localhost ~]$

到此,相信大家對(duì)“Linux中怎么創(chuàng)建及管理LVM邏輯卷”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI