ssm执行linux 指令,Linux逻辑卷快照及ssm的使用
Linux邏輯卷快照及ssm的使用
理論部分:
邏輯卷管理(LVM)提供了為任何邏輯卷作一個快照的功能,目的是在一致的狀態下來得到一個分區的備份.因為在備份過程中,應用程序可能訪問一個分區的文件或者數據庫.一些文件可能在一個狀態被備份,而后面的文件可能在一個更新后被備份,導致備份的不完整
從具體細節上說,快照是指向保存在存儲設備中的數據的引用標記或指針
操作部分:
首先創建一個邏輯卷/dev/vg00/lv00,空間為504M
lvdisplay?/dev/vg00/lv00
---?Logical?volume?---
LV?Path????????????????/dev/vg00/lv00
LV?Name????????????????lv00
VG?Name????????????????vg00
LV?UUID????????????????1ZUmzM-krIb-ag0Y-58oQ-IEfp-CRu4-JrzlB1
LV?Write?Access????????read/write
LV?Creation?host,?time?CentOS-1,?2017-01-09?19:25:41?+0800
LV?Status??????????????available
#?open?????????????????1
LV?Size????????????????504.00?MiB
Current?LE?????????????126
Segments???????????????1
Allocation?????????????inherit
Read?ahead?sectors?????auto
-?currently?set?to?????8192
Block?device???????????253:2
為了體現實驗效果,我們往這個邏輯卷復制一些數據到/data里面去
cp?/boot/*?/data/
接下來我們開始為/dev/vg00/lv00做邏輯卷快照
lvcreate?--size?500M?--snapshot?--name?lvsp00?/dev/vg00/lv00
Logical?volume?"lvsp00"?created.
使用lvscan查看一下
lvscan
ACTIVE????????????'/dev/centos/swap'?[8.00?GiB]?inherit
ACTIVE????????????'/dev/centos/root'?[41.51?GiB]?inherit
ACTIVE???Original?'/dev/vg00/lv00'?[504.00?MiB]?inherit
ACTIVE???Snapshot?'/dev/vg00/lvsp00'?[500.00?MiB]?inherit
現在可以看到/dev/vg00/lv00是原始邏輯卷,而最后的/dev/vg00/lvsp00是快照
執行lvdisplay或者lvs命令可以查看邏輯信息
lvdisplay?/dev/vg00/lvsp00
---?Logical?volume?---
LV?Path????????????????/dev/vg00/lvsp00
LV?Name????????????????lvsp00
VG?Name????????????????vg00
LV?UUID????????????????pkwNXm-7z1A-lntk-QtMd-t3XZ-E5De-l33oPy
LV?Write?Access????????read/write
LV?Creation?host,?time?CentOS-1,?2017-01-09?19:34:38?+0800
LV?snapshot?status?????active?destination?for?lv00
LV?Status??????????????available
#?open?????????????????0
LV?Size????????????????504.00?MiB
Current?LE?????????????126
COW-table?size?????????500.00?MiB
COW-table?LE???????????125
Allocated?to?snapshot??0.00%
Snapshot?chunk?size????4.00?KiB
Segments???????????????1
Allocation?????????????inherit
Read?ahead?sectors?????auto
-?currently?set?to?????8192
Block?device???????????253:5
lvs
LV?????VG?????Attr???????LSize???Pool?Origin?Data%??Meta%??Move?Log?Cpy%Sync?Convert
root???centos?-wi-ao----??41.51g
swap???centos?-wi-ao----???8.00g
lv00???vg00???owi-aos---?504.00m
lvsp00?vg00???swi-a-s---?500.00m??????lv00???0.00
這里可以看到邏輯快照已經創建成功了
現在我們來模擬將邏輯卷中的數據刪除
rm?-rf?/data/*
現在,邏輯卷/data目錄下已經沒有文件了,我們用兩種方法來恢復刪除的數據
方法一:
將原來的邏輯卷卸除掛載:
umount?/dev/vg00/lv00
然后在將邏輯卷快照掛載到/data目錄就可以正常訪問了
mount?/dev/vg00/lvsp00?/data/
方法二:
通過lvconvert把快照的內容重新寫回原來的lvm
首先將邏輯卷卸除掛載
umount?/dev/vg00/lv00
然后執行lvconvert將快照的數據合并到原邏輯卷
lvconvert?--merge?/dev/vg00/lvsp00
最后掛載原邏輯卷
mount?/dev/vg00/lv00?/data/
使用ssm(系統存儲管理器)進行邏輯卷管理
安裝ssm:
可以用rpm安裝或者yum
yum?-y?install?system-storage-manager
安裝完以后可以使用ssm list查看檢查關于硬盤中的LVM卷信息
ssm?list
---------------------------------------------------------------
Device??????????Free???????Used??????Total??Pool????Mount?point
---------------------------------------------------------------
/dev/sda??????????????????????????50.00?GB??????????PARTITIONED
/dev/sda1????????????????????????500.00?MB??????????/boot
/dev/sda2????0.00?KB???49.51?GB???49.51?GB??centos
/dev/sdb????99.50?GB??504.00?MB??100.00?GB??vg00
/dev/sdc???100.00?GB????0.00?KB??100.00?GB??vg00
/dev/sdd?????????????????????????100.00?GB
/dev/sde?????????????????????????100.00?GB
--------省略部分內容--------
下面通過ssm創建一個LVM卷(/dev/mypool/lv01)
首先創建一個可供掛載的掛載點
mount?/test
然后執行下命令創建一個名為mypool的存儲池,并創建存儲池中名為lv01的500M大小的LVM卷,使用XFS文件系統格式化卷,并將它掛載到/mnt/test下
ssm?create?-s?500M?-n?lv01?--fstype?xfs?-p?mypool?/dev/sdd?/test
使用lvscan查看創建結果
lvscan
ACTIVE????????????'/dev/centos/swap'?[8.00?GiB]?inherit
ACTIVE????????????'/dev/centos/root'?[41.51?GiB]?inherit
ACTIVE????????????'/dev/vg00/lv00'?[504.00?MiB]?inherit
ACTIVE????????????'/dev/mypool/lv01'?[500.00?MiB]?inherit
df?-Th
Filesystem??????????????Type??????Size??Used?Avail?Use%?Mounted?on
/dev/mapper/centos-root?xfs????????42G??3.5G???39G???9%?/
devtmpfs????????????????devtmpfs??3.8G?????0??3.8G???0%?/dev
tmpfs???????????????????tmpfs?????3.9G??144K??3.9G???1%?/dev/shm
tmpfs???????????????????tmpfs?????3.9G??9.0M??3.9G???1%?/run
tmpfs???????????????????tmpfs?????3.9G?????0??3.9G???0%?/sys/fs/cgroup
/dev/sda1???????????????xfs???????497M??159M??339M??32%?/boot
tmpfs???????????????????tmpfs?????781M???20K??781M???1%?/run/user/0
/dev/mapper/vg00-lv00???xfs???????501M??150M??352M??30%?/data
/dev/sr0????????????????iso9660???4.1G??4.1G?????0?100%?/mnt
/dev/mapper/mypool-lv01?xfs???????497M???26M??472M???6%?/test
往LVM池里新添加一塊新硬盤
ssm?add?-p?mypol?/dev/sdd
擴展LVM卷,將/dev/mypool/lv01卷增加300M
ssm?resize?-s?+300M?/dev/mypool/lv01
注意:這只是將LVM卷在原來的基礎上增加了300M,但是文件系統大小(Fs size)還沒有改變,仍然是原始大小,因此我們要使用以下命令來擴大現有的XFS文件系統
xfs_growfs?/dev/mypool/lv01
對LVM卷創建快照
為了體現實驗效果,我們往/test里面復制一些文件
cp?-rf?/boot/*?/test/
然后我們用ssm來給/dev/mypool/lv01創建快照
ssm?snapshot?/dev/mypool/lv01
查看一些創建好的快照
ssm?list?snapshots
-----------------------------------------------------------------------------
Snapshot?????????????????????????Origin??Pool????Volume?size??????Size??Type
-----------------------------------------------------------------------------
/dev/mypool/snap20170109T203221??lv01????mypool????160.00?MB??16.38?KB??linear
-----------------------------------------------------------------------------
以后每次原LVM中的數據更改,都可以手動執行ssm snapshot生成快照
模擬LVM中的數據丟失,利用快照恢復文件
rm?-rf?/test/*
方法一:
先將原邏輯卷卸載:
umount?/dev/mypool/lv01
然后掛載邏輯卷快照即可
mount?/dev/mypool/snap20170109T203221?/test/
方法二:
通過lvconvert把快照的內容重新寫回原有的lvm
同上一樣,首先卸載原邏輯卷
umount?/dev/mypool/lv01
然后執行以下命令將快照的數據合并到原邏輯卷
lvconvert?--merge/dev/mypool/snap20170109T203221
最后掛載原邏輯卷
mount/dev/mypool/lv01?/test
總結
以上是生活随笔為你收集整理的ssm执行linux 指令,Linux逻辑卷快照及ssm的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux下kill指令默认信号,Lin
- 下一篇: linux下q和q 的区别,linux命