lvm - snapshot backup
今回実行したコマンドの一覧
準備
fdisk -l
fdisk /dev/sdb
<color blue>pvcreate /dev/sdb1</color>
<color blue>vgcreate VgData /dev/sdb1</color>
vgdisplay
<color blue>lvcreate -n LvData -L 128m VgData</color>
lvdisplay
<color blue>mkfs -t ext3 /dev/VgData/LvData</color>
mkdir /data
<color blue>mount -t ext3 /dev/VgData/LvData /data</color>
バックアップ時はここから実行
<color blue>lvcreate -s -l 100%FREE -n LvSs /dev/VgData/LvData</color>
mkdir /backup
<color blue>mount -rt ext3 /dev/VgData/LvSs /backup</color>
tar zcvf foo.tar.gz /backup/foo
lvdisplay /dev/VgData/LvSs
<color blue>umount /backup</color>
<color blue>lvremove -f /dev/VgData/LvSs</color>
lvdisplay
ディスク状況を確認
Disk /dev/sda: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
デバイス Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 261 1992060 8e Linux LVM
Disk /dev/sdb: 268 MB, 268435456 bytes
64 heads, 32 sectors/track, 256 cylinders
Units = シリンダ数 of 2048 * 512 = 1048576 bytes
PV を作成
PV 用パーティションを作成
デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも
含んでいません
新たに DOS ディスクラベルを作成します。あなたが書き込みを決定するまで、変更は
メモリ内だけに残します。その後はもちろん以前の内容は修復不可能になります。
警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって
正常になります
コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-256, default 1):
Using default value 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-256, default 256):
Using default value 256
コマンド (m でヘルプ): p
Disk /dev/sdb: 268 MB, 268435456 bytes
64 heads, 32 sectors/track, 256 cylinders
Units = シリンダ数 of 2048 * 512 = 1048576 bytes
デバイス Boot Start End Blocks Id System
/dev/sdb1 1 256 262143+ 83 Linux
コマンド (m でヘルプ): t
Selected partition 1
16進数コード (L コマンドでコードリスト表示): 8e
領域のシステムタイプを 1 から 8e (Linux LVM) に変更しました
コマンド (m でヘルプ): p
Disk /dev/sdb: 268 MB, 268435456 bytes
64 heads, 32 sectors/track, 256 cylinders
Units = シリンダ数 of 2048 * 512 = 1048576 bytes
デバイス Boot Start End Blocks Id System
/dev/sdb1 1 256 262143+ 8e Linux LVM
コマンド (m でヘルプ): w
領域テーブルは交換されました!
ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。
PV を作成
Physical volume "/dev/sdb1" successfully created
PV の状態を確認
VG を作成
| # vgcreate VgData /dev/sdb1 |
Volume group "VgData" successfully created
VG の状態を確認
– Volume group —
VG Name VgData
System ID
Format lvm2
Metadata Areas 1
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 1
Act PV 1
VG Size 252.00 MB
PE Size 4.00 MB
Total PE 63
Alloc PE / Size 0 / 0
Free PE / Size 63 / 252.00 MB
VG UUID 0XKNa4-4LZN-AP0q-hTnI-rIku-K8mk-2XVQaS
LV を作成
データ用 LV を作成
| # lvcreate -n LvData -L 128m VgData |
空き領域をすべて使い切る場合
| # lvcreate -n LvData -l 100%FREE VgData |
Logical volume "LvData" created
データ用 LV の状態を確認
– Logical volume —
LV Name /dev/VgData/LvData
VG Name VgData
LV UUID Jqmo98-P0uM-5ccs-Qq5G-YBTu-Ea7E-2yNY82
LV Write Access read/write
LV Status available
# open 0
LV Size 128.00 MB
Current LE 32
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2
データ用 LV を ext3 で初期化
| # mkfs -t ext3 /dev/VgData/LvData |
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
32768 inodes, 131072 blocks
6553 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
16 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 24 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
データ用 LV を /data にマウント
マウント用ディレクトリ作成
データ用 LV を /data にマウント
| # mount -t ext3 /dev/VgData/LvData /data |
スナップショット用 LV を作成
| # lvcreate -s -l 100%FREE -n LvSs /dev/VgData/LvData |
Logical volume "LvSs" created
スナップショット用 LV を /backup にマウント
マウント用ディレクトリ作成
スナップショット用 LV を /backup にマウント
| # mount -rt ext3 /dev/VgData/LvSs /backup |
バックアップ
# tar zcvf foo.tar.gz /backup/foo
Snapshot 領域の使用状況を確認
| # lvdisplay /dev/VgData/LvSs |
– Logical volume —
LV Name /dev/VgData/LvSs
VG Name VgData
LV UUID C7SDJQ-120A-uOg1-aCYN-ZwtT-Ztf6-n5OAbG
LV Write Access read/write
LV snapshot status active destination for /dev/VgData/LvData
LV Status available
# open 1
LV Size 128.00 MB
Current LE 32
COW-table size 124.00 MB
COW-table LE 31
Allocated to snapshot 20.05% <== 使用率
Snapshot chunk size 4.00 KB
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:3
バックアップが終わったら、スナップショット用 LV をアンマウント
スナップショット用 LV を解放
| # lvremove -f /dev/VgData/LvSs |
Logical volume "LvSs" successfully removed
LV の使用状況を確認
– Logical volume —
LV Name /dev/VgData/LvSs
VG Name VgData
LV UUID Jqmo98-P0uM-5ccs-Qq5G-YBTu-Ea7E-2yNY82
LV Write Access read/write
LV Status available
# open 1
LV Size 128.00 MB
Current LE 32
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2