歡迎您光臨本站 註冊首頁

linux 下lvm邏輯卷的鑄造

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

Lvm邏輯卷

接上篇來說,我們知道在linux下處理有RAID0,1 ,4,5,6,,10 ,還有LV(logical volume)可擴展收縮卷,linux上叫LVM 邏輯卷管理器.大家有沒想過這個問題,當們的存儲設備的空間已經全部存儲滿了,我們該咋辦?呵呵,在這裡我們的LVM邏輯卷的優勢就體現的淋漓盡致了,LVM具有幾乎無限擴展的能力.下面我們來簡單分析下LVM 的數據存儲體系結構,

創建邏輯卷的總體上大致可以步驟分為三步

1. 將pp塊設備為轉化成pv物理卷

2. 將pv物理卷添加到vg卷組

3. 將vg卷組轉化為lv邏輯卷

下面我們先來學習一下他的命令用法和格式

Pv pvcreate -v device(/dev/sda5) 將pv塊設備化成物理卷

Pvdisplay /dev/sda5 查看結果

Pvscan 在系統的任何磁碟中搜索已經存在的物理卷

Vg vgcreate vol1 /dev/sda5

-l 指定最大有幾個邏輯卷

-p 指定最大有幾個物理塊設備

-s 設定PE的大小

vgextend vol1(要添加的卷組的名稱) /dev/sda6(pv物理卷)

vgreduce -a 移除空的或者好的物理卷

--removemissing 移除丟失的或者壞的物理卷

Vgs vol1 顯示卷ixnxi

Vgexport vol1 隱藏(不活動時才行)

Vgimport vol1 顯示

Vgchange -l 更改vg設定的屬性指定最大有幾個邏輯卷

-p 更改vg指定最大有幾個物理塊設備

-s 這裡調用-s來改變vg屬性!!!!

Vgscan vol1 掃描卷組

Lv

Lvcreate -L 100M -n lv1 vol1

-m 鏡像卷

-i 條帶卷

-p 指定許可權

-L 指定大小

-s 創建snapshot快照

-n 指定名字

Lvextend -L 100M|100M /dev/vol1/lv1

Lvreduce -L -100M|100M /dev/vol1/lv1

Lvscan

Lvrename 卷組名 就邏輯卷名 新邏輯卷名

下面我們就一個具體的案例來深刻理解下個命令的用法

新建兩個空間均為512M的物理卷,並以之創建卷組myvol1;(格式化?)

新建邏輯卷lvm1,大小為300M,並要求其開機掛載至/share目錄;

新建目錄/share/test,設置其所屬組為oinstall;

擴展邏輯卷lvm1的大小至500M,要求不能損壞其中的文件;

收縮邏輯卷lvm1的大小至200M,要求不能損壞其中的文件;

為此卷創建snapshot,名稱為lvm1snap;

1. 新建兩個512M的物理卷組,並創建卷組myvol

[root@station23 ~]# fdisk /dev/sda

Device Boot Start End Blocks Id System

/dev/sda1 * 1 13 104391 83 Linux

/dev/sda2 14 2308 18434587 8e Linux LVM

/dev/sda3 2309 2373 522112 82 Linux swap / Solaris

/dev/sda4 2374 15665 106767990 5 Extended

/dev/sda5 2374 2436 506016 8e Linux LVM

/dev/sda6 2437 2499 506016 8e Linux LVM

這裡我們分別建立兩個物理卷/dev/sda5 /dev/sda6,這裡的格式必須為linux LVM格式

[root@station23 ~]# partprobe 重新讀取分區信息,使之立即生效

[root@station23 ~]# pvcreate -v /dev/sda5 /dev/sda6 創建物理分區

Set up physical volume for "/dev/sda5" with 1012032 available sectors

Zeroing start of device /dev/sda5

Physical volume "/dev/sda5" successfully created

Set up physical volume for "/dev/sda6" with 1012032 available sectors

Zeroing start of device /dev/sda6

Physical volume "/dev/sda6" successfully created

[root@station23 ~]# pvdisplay 查看物理卷創建情況

"/dev/sda5" is a new physical volume of "494.16 MB"

--- NEW Physical volume ---

PV Name /dev/sda5

VG Name

PV Size 494.16 MB

Allocatable NO

PE Size (KByte) 0

Total PE 0

Free PE 0

Allocated PE 0

PV UUID 32M1nK-NB3O-D3NM-IaKg-d83f-75XL-2xdhte

"/dev/sda6" is a new physical volume of "494.16 MB"

--- NEW Physical volume ---

PV Name /dev/sda6

VG Name

PV Size 494.16 MB

Allocatable NO

PE Size (KByte) 0

Total PE 0

Free PE 0

Allocated PE 0

PV UUID 3k3i3x-6MAs-cX5j-tXJY-790Y-JDCr-PQoI8c

創建卷組myvol1

[root@station23 ~]# vgcreate myvol1 /dev/sda5 /dev/sda6

Volume group "myvol1" successfully created

[root@station23 ~]# vgdisplay myvol1 查看卷組創建情況

--- Volume group ---

VG Name myvol1

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 984.00 MB

PE Size 4.00 MB

Total PE 246

Alloc PE / Size 0 / 0

Free PE / Size 246 / 984.00 MB

VG UUID BDI2wz-XPuu-hZan-VpIu-H6tg-3zTk-Vhyu2x

創建邏輯卷lvm1 大小為300M

[root@station23 ~]# lvcreate -L 300M -n lvm1 myvol1

Logical volume "lvm1" created

[root@station23 ~]# lvdisplay lvm1 這裡失敗的原因的沒寫全路徑

Volume group "lvm1" not found

[root@station23 ~]# lvdisplay /dev/myvol1/lvm1

--- Logical volume ---

LV Name /dev/myvol1/lvm1

VG Name myvol1

LV UUID 15mVY6-82LS-B39d-663P-Xrlf-p3Ju-cy3Mzp

LV Write Access read/write

LV Status available

# open 0

LV Size 300.00 MB

Current LE 75

Segments 1

Allocation inherit

Read ahead sectors auto

- currently set to 256

Block device 253:2

[root@station23 ~]# mkfs -t ext3 /dev/myvol1/lvm1 格式化lvm1為ext3

mke2fs 1.39 (29-May-2006)

Filesystem label=

OS type: Linux

Block size=1024 (log=0)

Fragment size=1024 (log=0)

76912 inodes, 307200 blocks

15360 blocks (5.00%) reserved for the super user

First data block=1

Maximum filesystem blocks=67633152

38 block groups

8192 blocks per group, 8192 fragments per group

2024 inodes per group

Superblock backups stored on blocks:

8193, 24577, 40961, 57345, 73729, 204801, 221185

Writing inode tables: done

Creating journal (8192 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.

[root@station23 ~]# mkdir -p /share/test 創建/share/test文件

[root@station23 ~]# vim /etc/fstab 設置lvm1 開機自動掛載

/dev/myvol1/lvm1 /share/test ext3 defaults 0 0

~

~

"/etc/fstab" 9L, 656C written 9,47-75 All

新建目錄/share/test,設置其所屬組為oinstall

[root@station23 /]# mkdir /share/test

[root@station23 /]# chown -R :oinstall /share

[root@station23 /]# ls -ld /share/test/

drwxr-xr-x 2 root oinstall 1024 Feb 25 12:39 /share/test/

[root@station23 /]# ls -ld /share

drwxr-xr-x 4 root oinstall 1024 Feb 25 12:39 /share

[root@station23 ~]# mount /dev/myvol1/lvm1 /share 掛載lvm1至/share目錄下

擴展邏輯卷lvm1的大小至500M,要求不能損壞其中的文件;

[root@station23 test]# touch aa 新建aa文件,用於測試是否損壞了文件

[root@station23 test]# lvextend -L 500M /dev/myvol1/lvm1 /擴展lv邏輯卷500M 區分 500M

Extending logical volume lvm1 to 500.00 MB

Logical volume lvm1 successfully resized 成功標誌

[root@station23 test]# resize2fs /dev/myvol1/lvm1 重新定義lv大小,這步一定不能少resize2fs 1.39 (29-May-2006)

Filesystem at /dev/myvol1/lvm1 is mounted on /share; on-line resizing required

Performing an on-line resize of /dev/myvol1/lvm1 to 512000 (1k) blocks.

The filesystem on /dev/myvol1/lvm1 is now 512000 blocks long.

[root@station23 test]# ls aa文件依然存在,擴展成功

aa

收縮邏輯卷lvm1的大小至200M,要求不能損壞其中的文件;

[root@station23 test]# umount /dev/myvol1/lvm1 失敗原因,在掛載目錄

umount: /share: device is busy

umount: /share: device is busy

[root@station23 test]# cd

[root@station23 ~]# umount /dev/myvol1/lvm1 收縮邏輯卷時一定要先卸載

[root@station23 ~]# e2fsck -f /dev/myvol1/lvm1 e2fsck 1.39 (29-May-2006)

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/myvol1/lvm1: 13/127512 files (7.7% non-contiguous), 26640/512000 blocks

[root@station23 ~]#resize2fs /development/myvol1/lvm1 200M

[root@station23 ~]# lvreduce -L 200M /dev/myvol1/lvm1 收縮至200M 區分-200M

WARNING: Reducing active logical volume to 200.00 MB

THIS MAY DESTROY YOUR DATA (filesystem etc.)

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

Reducing logical volume lvm1 to 200.00 MB

Logical volume lvm1 successfully resized

[root@station23 ~]# cd /share

[root@station23 share]# ls

test

[root@station23 share]# cd

[root@station23 ~]# mount /dev/myvol1/lvm1 /share

[root@station23 ~]# cd /share/

[root@station23 share]# ls

lost found test

[root@station23 share]# cd test/

[root@station23 test]# ls 查看是否損壞文件

aa

[root@station23 test]#

為此卷創建snapshot,名稱為lvm1snap;

[root@station23 test]# lvcreate -L 100M -s -p r -n lvm1snapshot /dev/myvol1/lvm1

Logical volume "lvm1snapshot" created

Ok


[火星人 ] linux 下lvm邏輯卷的鑄造已經有656次圍觀

http://coctec.com/docs/linux/show-post-51785.html