您好,登錄后才能下訂單哦!
Linux磁盤管理中LVM邏輯卷的創(chuàng)建及使用,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
Linux磁盤管理中LVM邏輯卷基本概念及LVM的工作原理,詳細(xì)的講解了Linux的動(dòng)態(tài)磁盤管理LVM邏輯卷的基本概念以及LVM的工作原理,包括LVM中最重要的四個(gè)基本點(diǎn)(PE、PV、VG以及LV)。
一、創(chuàng)建LVM邏輯卷
我們通過(guò)圖文并茂的方式來(lái)看看如何創(chuàng)建我們的LVM,在上一篇隨筆中,我們已經(jīng)熟悉了LVM的工作原理,首先是要將我們的物理硬盤格式化成PV,然后將多個(gè)PV加入到創(chuàng)建好的VG中,最后通過(guò)VG創(chuàng)建我們的LV。所以我們第一步就是將我們的物理硬盤格式化成PV(物理卷)
①將物理硬盤格式化成PV(物理卷) 使用的是 pvcreate 命令
這里我已經(jīng)事先虛擬化了3快物理硬盤,每塊硬盤的大小為8G,通過(guò) fdisk -l 命令可以查看
[root@xiaoluo ~]# fdisk -l Disk /dev/sda: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00093d90 Device Boot Start End Blocks Id System /dev/sda1 1 523 4194304 82 Linux swap / Solaris Partition 1 does not end on cylinder boundary. /dev/sda2 * 523 2611 16776192 83 Linux Disk /dev/sdb: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/sdc: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/sdd: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000
這里我們根據(jù)上面圖所示,我們先將 /dev/sdb、 /dev/sdc 兩塊硬盤格式化成PV
[root@xiaoluo ~]# pvcreate /dev/sdb /dev/sdc Physical volume "/dev/sdb">創(chuàng)建完P(guān)V以后,我們可以使用pvdisplay(顯示詳細(xì)信息)、pvs命令來(lái)查看當(dāng)前pv的信息[root@xiaoluo ~]# pvdisplay "/dev/sdb">通過(guò)這兩個(gè)命令我們可以看到我們已經(jīng)創(chuàng)建好的PV的信息,兩個(gè)PV都是8G,目前還沒有使用,PFree都是8G.②創(chuàng)建卷組(VG),并將PV加入到卷組中 通過(guò) vgcreate 命令在創(chuàng)建完P(guān)V以后,這時(shí)候我們需要?jiǎng)?chuàng)建一個(gè)VG,然后將我們的PV都加入到這個(gè)卷組當(dāng)中,在創(chuàng)建卷組時(shí)要給該卷組起一個(gè)名字[root@xiaoluo ~]# vgcreate xiaoluo /dev/sdb /dev/sdc Volume group "xiaoluo">同樣,在創(chuàng)建好VG以后,我們也可以使用 vgdisplay 或者 vgs 命來(lái)來(lái)查看VG的信息[root@xiaoluo ~]# vgdisplay --- Volume group --- VG Name xiaoluo 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 // 當(dāng)前這里有兩個(gè)PV,分別是我們的 /dev/sdb 和 /dev/sdc Act PV 2 VG Size 15.99 GiB // 當(dāng)前VG的大小 PE Size 4.00 MiB // 通過(guò)這個(gè)我們也可以看到我們LVM默認(rèn)的PE大小就是4M Total PE 4094 // 因?yàn)閂G里面存放的就是各個(gè)PV中的PE,所以PE的數(shù)量就是VG大小除以默認(rèn)PE的大小 Alloc PE / Size 0 / 0 Free PE / Size 4094 / 15.99 GiB VG UUID B8eavI-21kD-Phnm-F1t1-eo4K-wgvg-T5qUbt [root@xiaoluo ~]# vgs VG #PV #LV #SN Attr VSize VFree xiaoluo 2 0 0 wz--n- 15.99g 15.99g ③基于卷組(VG)創(chuàng)建邏輯卷(LV) 通過(guò) lvcreate 命令因?yàn)閯?chuàng)建好的PV、VG都是底層的東西,我們上層使用的是邏輯卷,所以我們要基于VG創(chuàng)建我們的邏輯卷才行[root@xiaoluo ~]# lvcreate -n mylv -L 2G xiaoluo Logical volume "mylv" created 通過(guò) lvcreate 命令基于VG創(chuàng)建好我們的邏輯卷,名字為mylv,大小為2G,同樣我們可以使用 lvdisplay 或者 lvs 命令來(lái)查看創(chuàng)建好的邏輯卷的信息[root@xiaoluo ~]# lvdisplay --- Logical volume --- LV Path /dev/xiaoluo/mylv // 邏輯卷的路徑 LV Name mylv // 邏輯卷的名字 VG Name xiaoluo // 邏輯卷所屬卷組的名字 LV UUID PYuiYy-WpI6-XZB8-IhnQ-ANjM-lcz0-dlk4LR LV Write Access read/write LV Creation host, time xiaoluo, 2013-05-23 23:45:08 +0800 LV Status available # open 0 LV Size 2.00 GiB // 邏輯卷的大小 Current LE 512 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0 [root@xiaoluo ~]# lvs LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert mylv xiaoluo -wi-a---- 2.00g 這樣子我們的邏輯卷也就已經(jīng)創(chuàng)建好了,我們這個(gè)時(shí)候再通過(guò) vgs 還有 pvs 命令查看一下我們的PV與VG的信息[root@xiaoluo mnt]# vgs VG #PV #LV #SN Attr VSize VFree xiaoluo 2 1 0 wz--n- 15.99g 13.99g // 我們看到LV的數(shù)量此時(shí)變成了1,因?yàn)槲覀儎倓?chuàng)建好了一個(gè)LV,LVFree還有14G [root@xiaoluo mnt]# pvs PV VG Fmt Attr PSize PFree /dev/sdb xiaoluo lvm2 a-- 8.00g 6.00g // 剛創(chuàng)建好的LV用的是 /dev/sdb 這塊硬盤的,所以這塊硬盤的PFree還剩下6G /dev/sdc xiaoluo lvm2 a-- 8.00g 8.00g 我們發(fā)現(xiàn),當(dāng)我們每創(chuàng)建完一個(gè)LV時(shí),VG與PV的信息都是時(shí)時(shí)在變化的,并且我們創(chuàng)建LV的大小是根據(jù)當(dāng)前VG的大小來(lái)決定的,不能超過(guò)當(dāng)前VG的剩余大??!我們?cè)谏弦黄S筆里面有講過(guò),每創(chuàng)建好一個(gè)邏輯卷,都會(huì)在 /dev 目錄下出現(xiàn)一個(gè)以該卷組命名的文件夾,基于該卷組創(chuàng)建的所有的邏輯卷都是存放在這個(gè)文件夾下面,我們可以查看一下[root@xiaoluo ~]# ls /dev/xiaoluo/mylv /dev/xiaoluo/mylv 我們每創(chuàng)建一個(gè)新的邏輯卷,該VG目錄下都會(huì)多出這么一個(gè)設(shè)備。二、格式化并使用我們的邏輯卷我們已經(jīng)創(chuàng)建好了我們的PV、VG以及LV,這時(shí)候我們?nèi)绻褂眠壿嬀?,就必須將其格式化成我們需要用的文件系統(tǒng),并將其掛載起來(lái),然后就可以像使用分區(qū)一樣去使用邏輯卷了 [root@xiaoluo ~]# mkfs.ext4 /dev/xiaoluo/mylv mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 131072 inodes, 524288 blocks 26214 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=536870912 16 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912 Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 31 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. 格式化我們的邏輯卷以后,就可以使用 mount 命令將其進(jìn)行掛載,我們將其掛載到 /mnt 目錄下[root@xiaoluo ~]# mount /dev/xiaoluo/mylv /mnt [root@xiaoluo ~]# mount /dev/sda2 on / type ext4 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0") none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw) /dev/mapper/xiaoluo-mylv on /mnt type ext4 (rw) [root@xiaoluo ~]# cd /mnt/ [root@xiaoluo mnt]# ls lost+found [root@xiaoluo mnt]# touch xiaoluo.txt [root@xiaoluo mnt]# ls lost+found xiaoluo.txt 我們看到,我們的卷組已經(jīng)掛載好了,并且可以像使用分區(qū)一樣來(lái)對(duì)其進(jìn)行文件操作了。三、刪除邏輯卷我們?cè)趧?chuàng)建好邏輯卷后可以通過(guò)創(chuàng)建文件系統(tǒng),掛載邏輯卷來(lái)使用它,如果說(shuō)我們不想用了也可以將其刪除掉?!咀⒁猓骸繉?duì)于創(chuàng)建物理卷、創(chuàng)建卷組以及創(chuàng)建邏輯卷我們是有嚴(yán)格順序的,同樣,對(duì)于刪除邏輯卷、刪除卷組以及刪除物理卷也是有嚴(yán)格順序要求的①首先將正在使用的邏輯卷卸載掉 通過(guò) umount 命令②將邏輯卷先刪除 通過(guò) lvremove 命令③刪除卷組 通過(guò) vgremove 命令④最后再來(lái)刪除我們的物理卷 通過(guò) pvremove 命令[root@xiaoluo /]# mount /dev/xiaoluo/mylv /mnt/ [root@xiaoluo /]# umount /mnt/ [root@xiaoluo /]# lvremove /dev/xiaoluo/mylv Do you really want to remove active logical volume mylv? [y/n]: y Logical volume "mylv">此時(shí)我們的剛創(chuàng)建的邏輯卷 mylv,卷組 xiaoluo以及物理卷 /dev/sdb 已經(jīng)從我們當(dāng)前操作系統(tǒng)上刪除掉了,通過(guò) lvs、vgs、pvs命令可以查看一下[root@xiaoluo /]# lvs No volume groups found // 邏輯卷已經(jīng)沒有了 [root@xiaoluo /]# vgs No volume groups found // 卷組也沒有了 [root@xiaoluo /]# pvs PV VG Fmt Attr PSize PFree /dev/sdc lvm2 a-- 8.00g 8.00g // sdb物理卷已經(jīng)沒有了,只剩下 sdc物理卷了 本篇隨筆詳細(xì)講解了LVM邏輯卷的創(chuàng)建、使用及刪除,在下一篇隨筆里我們將繼續(xù)講解LVM邏輯卷的知識(shí),包括如何對(duì)邏輯卷進(jìn)行動(dòng)態(tài)的拉伸以及對(duì)其進(jìn)行壓縮?。?!
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。
免責(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)容。