[Linux] Logical Volume Snapshoot on Ubuntu server
1. Khái niệm
a. Khái niệm về volume
- Physical Volume: Là một cách gọi khác của partition trong kỹ thuật LVM, nó là những thành phần cơ bản được sử dụng bởi LVM. Một Physical Volume không thể mở rộng ra ngoài phạm vi một ổ đĩa.
- Logical Volume group: Nhiều Physical Volume trên những ổ đĩa khác nhau được kết hợp lại thành một Logical Volume Group, với LVM Logical Volume Group được xem như một ổ đĩa ảo.
- Logical Volumes: Logical Volume Group được chia nhỏ thành nhiều Logical Volume, mỗi Logical Volume có ý nghĩa tương tự như partition. Nó được dùng cho các mount point và được format với những định dạng khác nhau như ext2, ext3, ext4...
Nói một cách nôm na, LVM thực hiện nhóm các ổ vật lý (physical volume) lại thành nhóm volume (logical volume group) từ đó chia ra các logical volume để tiện quản lý.
Chúng ta có thể hình dung rõ hơn các khái niệm trên trong hình vẽ dưới đây:
b. Logical volume snapshot
Logical Volume snapshot là phương pháp tạo ra các ảnh lưu lại trạng thái của bấy kỳ logical volume nào trên server tại thời điểm tiến hành snapshot, nó có thể được ví như việc tạo các symbolic link, nghĩa là chúng ta không sao nguyên dữ liệu của volume đó mà chỉ tạo ra các tham chiếu đến nó, logical volume lưu trữ dữ liệu với cấu trúc bao gồm: metadata pointers và data block.
2. Tạo và định dạng volume
Bài viết được thực hiện khi chúng ta thêm một ổ cứng mới hoàn toàn vào server.
B1. Cài đặt lvm2
- Kiểm tra ổ cứng mới thêm vào
- Tạo primary partition:
B3. Tạo Physical Volumes
Câu lệnh sau thực hiện tạo 1 volume group với tên là volume_group:
Câu lệnh sau thực hiện tạo 1 logical volume với tên là volume1 trong volume group có tên là volume_group với dung lượng là 500MB
Kiểm tra:
B1. Tạo snapshot
B2. Revert Logical Volume Snapshot
Tham khảo: http://how-to.linuxcareer.com/create-and-restore-manual-logical-volume-snapshots
a. Khái niệm về volume
- Physical Volume: Là một cách gọi khác của partition trong kỹ thuật LVM, nó là những thành phần cơ bản được sử dụng bởi LVM. Một Physical Volume không thể mở rộng ra ngoài phạm vi một ổ đĩa.
- Logical Volume group: Nhiều Physical Volume trên những ổ đĩa khác nhau được kết hợp lại thành một Logical Volume Group, với LVM Logical Volume Group được xem như một ổ đĩa ảo.
- Logical Volumes: Logical Volume Group được chia nhỏ thành nhiều Logical Volume, mỗi Logical Volume có ý nghĩa tương tự như partition. Nó được dùng cho các mount point và được format với những định dạng khác nhau như ext2, ext3, ext4...
Nói một cách nôm na, LVM thực hiện nhóm các ổ vật lý (physical volume) lại thành nhóm volume (logical volume group) từ đó chia ra các logical volume để tiện quản lý.
Chúng ta có thể hình dung rõ hơn các khái niệm trên trong hình vẽ dưới đây:
b. Logical volume snapshot
Logical Volume snapshot là phương pháp tạo ra các ảnh lưu lại trạng thái của bấy kỳ logical volume nào trên server tại thời điểm tiến hành snapshot, nó có thể được ví như việc tạo các symbolic link, nghĩa là chúng ta không sao nguyên dữ liệu của volume đó mà chỉ tạo ra các tham chiếu đến nó, logical volume lưu trữ dữ liệu với cấu trúc bao gồm: metadata pointers và data block.
2. Tạo và định dạng volume
Bài viết được thực hiện khi chúng ta thêm một ổ cứng mới hoàn toàn vào server.
B1. Cài đặt lvm2
sudo apt-get install lvm2B2. Tạo một partition
- Kiểm tra ổ cứng mới thêm vào
sudo fdisk -lSau khi đã xác định ổ cứng mới được thêm vào (giả sử /dev/sdb)
- Tạo primary partition:
sudo fdisk /dev/sdbChọn các tùy chọn sau:
Command (m for help): n- Kiểm tra
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-2097151, default 2048): 2048
Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151):
Command (m for help): t
Partition number (1-4): 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!
Calling ioctl() to re-read partition table.
Syncing disks.
sudo fdisk -l /dev/sdb
Device Boot Start End Blocks Id System
/dev/sdb1 2048 10485759 5241856 8e Linux LVM
B3. Tạo Physical Volumes
sudo pvcreate /dev/sdb1B4. Tạo Volume Group
Câu lệnh sau thực hiện tạo 1 volume group với tên là volume_group:
sudo vgcreate volume_group /dev/sdb1B5. Tạo Logical Volumes
Câu lệnh sau thực hiện tạo 1 logical volume với tên là volume1 trong volume group có tên là volume_group với dung lượng là 500MB
sudo lvcreate -L 500 -n volume1 volume_groupB6. Định dạng ext4 cho volume1
sudo mkfs.ext4 /dev/volume_group/volume1B7. Mount volume1 và tạo dữ liệu mẫu
mkdir -p /data/volume1B8. Tự động mount khi khởi động
mount /dev/volume_group/volume1 /data/volume1
cp -r /sbin/ /data/volume1
Kiểm tra:
df -hThêm vào file /etc/fstab, đây là bước quan trọng và yêu cầu phải thực hiện chính xác:
/dev/mapper/volume_group-volume1 /data ext4 defaults 0 23. Snapshot cho volume
B1. Tạo snapshot
sudo lvcreate -s -L 50M -n volume1_snapshot /dev/volume_group/volume1Kiểm tra xem snapshot đã tạo thành công hay chưa:
sudo lvsChúng ta đã tiến hành tạo snapshot cho volume1 tại thời điểm copy folder sbin vào volume, tiến hành xóa hết dữ liệu tại /data/volume để tiến hành revert lại.
B2. Revert Logical Volume Snapshot
lvconvert --merge /dev/volume_group/volume1_snapshotB3. Kiểm tra sau khi đã revert lại
umount /data/volume1
lvchange -a n /dev/volume_group/volume1
lvchange -a y /dev/volume_group/volume1
mount /dev/volume_group/volume1 /data/volume1
ls -l /data/volume1
Tham khảo: http://how-to.linuxcareer.com/create-and-restore-manual-logical-volume-snapshots