Check filesystem container sử dụng fsck
Biểu hiện
Theo thời gian, ảnh đĩa của container cần phải được kiểm tra hệ thống tập tin ở định dạng ploop.
Lý do
Do một số lý do khác nhau, chủ yếu là sự cố hệ thống bị crash hoặc do quá trình replication không chính xác, hệ thống tập tin sẽ bị lỗi. Kết quả là số lượng lỗi hệ thống tập tin phát triển theo thời gian.
It can become necessary to check the filesystem in a ploop image for consistency to avoid data loss.
Giải pháp
Chạy lệnh fsck theo các bước sau:
- Kiểm tra trạng thái của container:
~# vzctl stop 101
~# vzlist 101
CTID NPROC STATUS IP_ADDR HOSTNAME
101 - stopped 10.10.10.11 fsck.test
Note: Không thực hiện fsck với các container đạng chạy hoặc mounted.
- Mount ploop image của container:
~# ploop mount /vz/private/101/root.hdd/DiskDescriptor.xml
add delta dev=/dev/ploop12345 img=/vz/private/101/root.hdd/root.hds (rw)
- Chạy lệnh
fdisk -l
cho ảnh đĩa vừa mount/dev/ploopX
.~# fdisk -l /dev/ploop12345
WARNING: GPT (GUID Partition Table) detected on '/dev/ploop12345'! The util fdisk doesn't support GPT. Use GNU Parted.
Disk /dev/ploop12345: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/ploop12345p1 1 1306 10485759+ ee GPT
- Thực hiện kiểm tra hệ thống tập tin (note p1 vào hậu tố):
~# e2fsck /dev/ploop12345p1
e2fsck 1.41.12 (17-May-2010)
/dev/ploop12345p1: clean, 22404/655360 files, 238012/2620923 blocks
Note: Tham khảo manpage của fsck để có thể sử dụng nhiều options khác.
- Unmount ploop image:
~# ploop umount -d /dev/ploop12345
Unmounting device /dev/ploop12345
- Start container:
~# vzctl start 101