LVM創建實例及相關注釋

LVM創建    pv—>vg—->lv—->快照

創建前準備了四塊1g硬盤分別為:sdb  sdc sdd  sde,并分別給四塊盤劃分了1G的空間,并指定了分區系統類型為8e(即Linux LVM

[root@localhost ~]# fdisk /dev/sdb

Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-130, default 1): 

Using default value 1

Last cylinder, +cylinders or +size{K,M,G} (1-130, default 130): +999M


Command (m for help): t  ##指定類型

Selected partition 1

Hex code (type L to list codes): 8e

Changed system type of partition 1 to 8e (Linux LVM)


Command (m for help): w  保存退出

The partition table has been altered!


然后依次對sdc  sdd  sde做一樣的操作


[root@localhost ~]# fdisk -l|grep "^/dev/sd"

/dev/sda1   *           1          39      307200   83  Linux

/dev/sda2              39        2358    18631680   83  Linux

/dev/sda3            2358        2611     2031616   82  Linux swap / Solaris

/dev/sdb1               1         128     1028128+  8e  Linux LVM

/dev/sdc1               1         128     1028128+  8e  Linux LVM

/dev/sdd1               1         128     1028128+  8e  Linux LVM

/dev/sde1               1         128     1028128+  8e  Linux LVM

以上紅色顯示的是即將用于創建lvm的分區

First  創建pv

[root@localhost ~]# pvcreate /dev/sd{b,c,d,e}1     創建 PV

  Physical volume "/dev/sdb1" successfully created

  Physical volume "/dev/sdc1" successfully created

  Physical volume "/dev/sdd1" successfully created

  Physical volume "/dev/sde1" successfully created


[root@localhost ~]# pvs   查看pv

  PV         VG   Fmt  Attr PSize    PFree   

  /dev/sdb1       lvm2 a–  1004.03m 1004.03m

  /dev/sdc1       lvm2 a–  1004.03m 1004.03m

  /dev/sdd1       lvm2 a–  1004.03m 1004.03m

  /dev/sde1       lvm2 a–  1004.03m 1004.03m


[root@localhost ~]# pvdisplay  相對pvs來說顯示的更詳細,以下是/dev/sdb1的顯示內容

  "/dev/sdb1" is a new physical volume of "1004.03 MiB"

  — NEW Physical volume —

  PV Name               /dev/sdb1

  VG Name               

  PV Size               1004.03 MiB

  Allocatable           NO

  PE Size               0   

  Total PE              0

  Free PE               0

  Allocated PE        0

  PV UUID               8etjmo-mVi0-ncst-Em9d-pMW0-z0Ol-q4fX8v


pvremove /dev/sdb1    即可刪除

pvcreate  /dev/sdb1     則可再加進來


Second  創建pv后創建vg


[root@localhost ~]# vgcreate myvg /dev/sd{b,c,d}1      這里我們先加進來3塊盤,另一塊用于演示其他操作

  Volume group "myvg" successfully created

    如果要修改PE大?。嚎梢允褂?span style="color:#ff0000">-s參數   默認是4m  

查看

[root@localhost ~]# vgs

  VG   #PV #LV #SN Attr   VSize VFree

  myvg   3   0   0 wz–n- 2.93g 2.93g

[root@localhost ~]# vgdisplay     同樣也比vgs顯示的詳細

  — Volume group —

  VG Name               myvg

  System ID             

  Format                lvm2

  Metadata Areas        3

  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                3

  Act PV                3

  VG Size               2.93 GiB

  PE Size               4.00 MiB

  Total PE              750

  Alloc PE / Size       0 / 0   

  Free  PE / Size       750 / 2.93 GiB

  VG UUID               hbiddu-b9z4-WTxe-CwYK-WrNu-J0Af-tgLWZR

[root@localhost ~]# vgextend myvg /dev/sde1    添加硬盤到vg  增加磁盤沒什么風險

  Volume group "myvg" successfully extended

[root@localhost ~]# vgs   剛才是3個pv  現在4個且容量也增加了

  VG   #PV #LV #SN Attr   VSize VFree

  myvg   4   0   0 wz–n- 3.91g 3.91g

下面是移除磁盤,這是我沒要考慮是否磁盤上有數據,如果有移到其他pv,然后移除

[root@localhost ~]# pvmove /dev/sdb1     ##移走數據

  No data to move for myvg

[root@localhost ~]# vgreduce myvg /dev/sdb1   ##mypv移除/dev/sdb1

  Removed "/dev/sdb1" from volume group "myvg"

[root@localhost ~]# vgs

  VG   #PV #LV #SN Attr   VSize VFree

  myvg   3   0   0 wz–n- 2.93g 2.93g

Third   創建邏輯卷lv,及擴展大小

[root@localhost ~]# vgs

  VG   #PV #LV #SN Attr   VSize VFree

  myvg   4   0   0 wz–n- 3.91g 3.91g

我們查看一共有不到4G的空間,創建的lv大小不能超過上面vg的大小

[root@localhost ~]# lvcreate -L 2G -n mylv myvg   ##在myvg上創建一個mylv的邏輯卷大小2G 

  Logical volume "mylv" created[root@localhost ~]# lvs   #查看

  LV   VG   Attr       LSize Pool Origin Data%  Move Log Cpy%Sync Convert

  mylv myvg -wi-a—– 2.00g                                             

[root@localhost ~]# lvdisplay  查看

  — Logical volume —

  LV Path                /dev/myvg/mylv

  LV Name                mylv

  VG Name                myvg

  LV UUID                PPPW3e-xAiz-CMNM-RV2o-i8H1-yfIB-9g4KG2

  LV Write Access        read/write

  LV Creation host, time localhost.localdomain, 2015-06-06 21:24:36 -0700

  LV Status              available

  # open                 0

  LV Size                2.00 GiB

  Current LE             512

  Segments               3

  Allocation             inherit

  Read ahead sectors     auto

  – currently set to     256

  Block device           253:0

lv的訪問路徑:(此兩者均為符號鏈接,指向的文件為/dev/dm-#)

    1./dev/VG_name/LV_name

        /dev/myvg/mylv

    2./dev/mapper/VG_name-LV_name

        /dev/mapper/myvg-mylv

[root@localhost ~]# ll /dev/dm-*

brw-rw—- 1 root disk 253, 0 Jun  6 21:24 /dev/dm-0

[root@localhost ~]# ll /dev/myvg/

lrwxrwxrwx 1 root root 7 Jun  6 21:24 mylv -> ../dm-0

[root@localhost ~]# ll /dev/mapper

lrwxrwxrwx 1 root root      7 Jun  6 21:24 myvg-mylv -> ../dm-0


lv創建好就是一個文件系統,我們就可以使用它了

[root@localhost ~]# mke2fs -t ext4 /dev/myvg/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

格式化后創建目錄掛載吧:

[root@localhost ~]# mkdir /mnt/mylv

[root@localhost ~]# mount /dev/myvg/mylv /mnt/mylv

[root@localhost ~]# 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)

/dev/sda1 on /boot type ext4 (rw)

none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

vmware-vmblock on /var/run/vmblock-fuse type fuse.vmware-vmblock (rw,nosuid,nodev,default_permissions,allow_other)

/dev/mapper/myvg-mylv on /mnt/mylv type ext4 (rw)

如果想要長期使用,命令掛載只是暫時的,還要添加到/etc/fstab文件中最后一行增加:

/dev/myvg/mylv         /mnt/mylv                ext4    defaults        0 0

pv總空間為3.91G,現在只劃給mylv  2G空間,如果不夠用可以擴展mylv

 1.  lvextend  擴展物理邊界  

  [root@localhost ~]# lvextend -L 3G /dev/myvg/mylv   ###這里表示擴展到3G

  Extending logical volume mylv to 3.00 GiB

  Logical volume mylv successfully resized

[root@localhost ~]# df -h

Filesystem             Size  Used Avail Use% Mounted on

/dev/sda2               18G  2.9G   14G  18% /

tmpfs                  495M     0  495M   0% /dev/shm

/dev/sda1              291M   34M  242M  13% /boot

/dev/mapper/myvg-mylv  2.0G   67M  1.9G   4% /mnt/mylv

 2.resizefs   擴展邏輯邊界

                    [root@localhost ~]# resize2fs /dev/myvg/mylv     ###這里表示擴展至物理邊界大小

resize2fs 1.41.12 (17-May-2010)

Filesystem at /dev/myvg/mylv is mounted on /mnt/mylv; on-line resizing required

old desc_blocks = 1, new_desc_blocks = 1

Performing an on-line resize of /dev/myvg/mylv to 786432 (4k) blocks.

The filesystem on /dev/myvg/mylv is now 786432 blocks long.

[root@localhost ~]# df -h

Filesystem             Size  Used Avail Use% Mounted on

/dev/sda2               18G  2.9G   14G  18% /

tmpfs                  495M     0  495M   0% /dev/shm

/dev/sda1              291M   34M  242M  13% /boot

/dev/mapper/myvg-mylv  3.0G   67M  2.8G   3% /mnt/mylv

        縮減很危險?。。。?!

        縮減要離線,首先卸載 umount /mnt/mylv

                1.先確定縮減的目錄數據有多少,并確定對應的目標邏輯卷大小中有足夠的空間可容納原來的所有數據

                        [root@localhost ~]# du -sh /mnt/mylv

                        20K /mnt/mylv

                2.先減少文件系統,并要執行強制檢測

                        e2fsck -f

[root@localhost ~]# e2fsck -f /dev/myvg/mylv

e2fsck 1.41.12 (17-May-2010)

Pass 1: Checking inodes, blocks, and sizes

Pass 2: Checking directory structure

Pass 3: Checking directory connectivity

Pass 4: Checking reference counts

Pass 5: Checking group summary information

/dev/myvg/mylv: 11/196608 files (0.0% non-contiguous), 29500/786432 blocks

                3.縮減邊界

                        resize2fs device

[root@localhost ~]# resize2fs /dev/myvg/mylv 1G

resize2fs 1.41.12 (17-May-2010)

Resizing the filesystem on /dev/myvg/mylv to 262144 (4k) blocks.

The filesystem on /dev/myvg/mylv is now 262144 blocks long.

                4.縮減物理邊界

                    lvreduce -L 1G /dev/myvg/mylv

[root@localhost ~]# lvreduce -L 1G /dev/myvg/mylv

  WARNING: Reducing active logical volume to 1.00 GiB

  THIS MAY DESTROY YOUR DATA (filesystem etc.)

Do you really want to reduce mylv? [y/n]: y

  Reducing logical volume mylv to 1.00 GiB

  Logical volume mylv successfully resized

[root@localhost ~]# mount /dev/myvg/mylv /mnt/mylv

[root@localhost ~]# df -h

Filesystem             Size  Used Avail Use% Mounted on

/dev/sda2               18G  2.9G   14G  18% /

tmpfs                  495M     0  495M   0% /dev/shm

/dev/sda1              291M   34M  242M  13% /boot

/dev/mapper/myvg-mylv 1008M   67M  891M   7% /mnt/mylv

  快照卷:只能讀,不能寫

   

注意:快照卷是對某邏輯卷

[root@localhost ~]# mount -o remount,ro /dev/myvg/mylv /mnt/mylv  ##先改成只讀

[root@localhost ~]# lvcreate -L 1G -n mylv-snap -p r -s /dev/myvg/mylv    ##對mylv做快照為mylv-snap 大小為1G

[root@localhost ~]# mount -o remount,rw /dev/myvg/mylv /mnt/mylv   #快照完,立刻改為讀寫或者一個命令行直接執行者三個命令,或者寫腳本

  Logical volume "mylv-snap" created


[root@localhost ~]# mount /dev/myvg/mylv-snap /mnt/snap/   掛載快照

mount: block device /dev/mapper/myvg-mylv–snap is write-protected, mounting read-only


如果不想用了,要刪除怎么辦??

     umount /mnt/snap

     lvremove /dev/myvg/mylv-snap

     

     另外還有:pvremove     vgremove等刪除命令,可以用man 查看

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

(0)
comkcomk
上一篇 2015-06-08
下一篇 2015-06-08

相關推薦

  • 作業練習題匯總

    需要用到的命令補充  文件通配符                                            …

    2017-07-22
  • 重構與模式:改善代碼三部曲中的第三部

    一、改善代碼的三部曲    《設計模式》-> 《重構》-> 《重構與模式》。也就是設計->重構->重構出新設計。    《設計模式》主要詳細說明20幾種模式,為我們帶來了常見設計問題的經典解決方案,從而改變了整個面向對象開發的面貌。為設計而著。    《重構》改善既有代碼的設…

    Linux干貨 2015-04-07
  • history

    history命令詳解

    Linux干貨 2018-02-28
  • 馬哥Linux第六周作業

    網絡管理 進程查看及管理之ps,top,htop,dstat,vmstat

    2018-01-20
  • n28-第四周

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限 答:install 復制文件并設置屬性 -d, –directory:復制所有參數為目錄名 -m, –mode=MODE:設置文件屬性,相當于chmod # install -d -m u=rwx /e…

    Linux干貨 2017-12-24
  • lvs負載集群實驗(實現wordpress)

    項目要求: (1) lvs 調度兩臺 nginx+php-fpmreal-server,采用 dr 模型,調度算法為 rr (2) mariadb 為 real-server 提供數據庫,nfs 掛載至 2 臺 real-server 提供文件服務 (3) 由于實驗環境地址沖突將VIP替換為172.18.60.60 實施步驟: 一、配置NFS+mariadb…

    2017-05-10
欧美性久久久久