Trả lời câu hỏi của riêng tôi. Rất thích một số nhận xét mặc dù một số nhận xét có vẻ phức tạp.
Hóa ra nó phức tạp hơn nhiều so với tôi nghĩ.. đây là những ghi chú tôi đã thực hiện - chúng bao gồm rất nhiều đầu ra có thể dành riêng cho tình huống của tôi. Ngoài ra, bất cứ điều gì bắt đầu bằng "<<<<" đều là nhận xét! Đừng sao chép nó!:
VẤN ĐỀ: Đã sao chép hình ảnh qemu máy chủ cũ 40G LV sang 50G LV mới
Cần thay đổi kích thước hệ thống tập tin thành 50G
root@virtual3:~# ssh oldserver "dd bs=1M if=/dev/oldvg/oldnstest" | \
trạng thái dd=tiến trình của=/dev/vg-main/nstest
root@virtual3:~# scp oldserver:/etc/libvirt/quemu/oldnstest.xml /etc/libvirt/qemu/nstest.xml
.... chỉnh sửa nstest.xml theo yêu cầu và virsh định nghĩa nstest.xml
Tôi đã tìm thấy một số bit và lỗi bị thiếu, nhưng chủ yếu dựa trên trang này:
https://subscription.packtpub.com/book/virtualization-and-cloud/9781788294676/1/ch01lvl1sec14/resizing-an-image
root@virtual3:~# thông tin qemu-img /dev/vg-main/nstest
hình ảnh: /dev/vg-main/nstest
định dạng tệp: thô
kích thước ảo: 50 GiB (53687091200 byte)
kích thước đĩa: 0 B
root@virtual3:~# losetup -f
/dev/loop0
root@virtual3:~# losetup /dev/loop0 /dev/vg-main/nstest
root@virtual3:~# kpartx -av /dev/loop0
GPT: Tiêu đề chính nghĩ Alt. tiêu đề không ở cuối đĩa.
GPT:Tiêu đề GPT thay thế không ở cuối đĩa.
GPT: Sử dụng GNU Parted để sửa lỗi GPT.
thêm bản đồ loop0p1 (253:3): 0 2048 tuyến tính 7:0 2048
thêm bản đồ loop0p2 (253:4): 0 85972992 tuyến tính 7:0 4096
root@virtual3:~# đã chia tay /dev/vg-main/nstest print
Cảnh báo: Không phải tất cả dung lượng có sẵn cho /dev/dm-2 dường như đã được sử dụng, bạn có thể
sửa GPT để sử dụng hết dung lượng (thêm 18877064 khối) hoặc tiếp tục với
cài đặt hiện tại?
Khắc phục/Bỏ qua? sửa chữa
Model: Trình ánh xạ thiết bị Linux (tuyến tính) (dm)
Đĩa /dev/dm-2: 53,7GB
Kích thước cung (logic/vật lý): 512B/512B
Bảng phân vùng: gpt
Cờ đĩa:
Số Bắt đầu Kết thúc Kích thước Hệ thống tệp Tên Cờ
1 1049kB 2097kB 1049kB bios_grub
2 2097kB 44.0GB 44.0GB ext4
VM VẪN KHỞI ĐỘNG - hãy xem cách chúng ta bắt đầu từ đây!
Lưu ý, ghi nhật ký dường như phải được tắt để tính năng này hoạt động, nhưng e2fsck sẽ bật lại tính năng này. Xem bên dưới.
root@virtual3:~# kpartx -av /dev/loop0
thêm bản đồ loop0p1 (253:3): 0 2048 tuyến tính 7:0 2048
thêm bản đồ loop0p2 (253:4): 0 85972992 tuyến tính 7:0 4096
root@virtual3:~# ls -la /dev/mapper/loop0*
lrwxrwxrwx 1 gốc root 7 ngày 13 tháng 1 23:47 /dev/mapper/loop0p1 -> ../dm-3
lrwxrwxrwx 1 gốc root 7 ngày 13 tháng 1 23:47 /dev/mapper/loop0p2 -> ../dm-4
root@virtual3:~# tune2fs -l /dev/mapper/loop0p2
.... rất nhiều thứ, cắt ngắn cho ngắn gọn
Các tính năng của hệ thống tệp: has_journal ext_attr resize_inode dir_index .... v.v.
.... còn nhiều thứ nữa.... nhưng lưu ý "has_journal" ở trên
root@virtual3:~# e2fsck /dev/mapper/loop0p2 >>>>>>>>>sửa lỗi nhỏ?
e2fsck 1.45.5 (07-Jan-2020)
/dev/mapper/loop0p2: khôi phục nhật ký
Xóa inode mồ côi 788499 (uid=0, gid=0, mode=0100644, size=113)
Xóa inode mồ côi 531614 (uid=0, gid=0, mode=0100666, size=0)
Xóa inode mồ côi 531613 (uid=112, gid=117, mode=0100600, size=0)
Xóa inode mồ côi 531610 (uid=112, gid=117, mode=0100600, size=0)
Xóa inode mồ côi 531609 (uid=112, gid=117, mode=0100600, size=0)
Xóa inode mồ côi 531606 (uid=112, gid=117, mode=0100600, size=0)
Đặt số lượng nút miễn phí thành 2511295 (là 2511334)
Đặt số khối miễn phí thành 6187161 (là 6192365)
/dev/mapper/loop0p2: sạch, 175681/2686976 tệp, 4559463/10746624 khối
root@virtual3:~# tune2fs -O ^has_journal /dev/mapper/loop0p2 >>>> Lưu ý: giới hạn O
tune2fs 1.45.5 (07-Jan-2020)
root@virtual3:~# tune2fs -l /dev/mapper/loop0p2 | grep "tính năng"
Các tính năng của hệ thống tệp: ext_attr resize_inode dir_index .... v.v.
root@virtual3:~# kpartx -dv /dev/loop0
bản đồ dev: loop0p2
del devmap : loop0p1
root@virtual3:~# losetup -d /dev/loop0
root@virtual3:~# modprobe nbd max_parts=8 <<<<< cần thiết để tạo /dev/nbd*
(chỉnh sửa /etc/modprobe ... thêm nbd để tạo vĩnh viễn)
root@virtual3:~# qemu-nbd --format=raw --connect=/dev/nbd0 /dev/vg-main/nstest
root@virtual3:~# fdisk /dev/nbd0
Chào mừng bạn đến với fdisk (util-linux 2.34).
Các thay đổi sẽ chỉ còn trong bộ nhớ cho đến khi bạn quyết định ghi chúng.
Hãy cẩn thận trước khi sử dụng lệnh ghi.
Lệnh (m để được giúp đỡ): p
Đĩa /dev/nbd0: 50 GiB, 53687091200 byte, 104857600 cung
Đơn vị: cung từ 1 * 512 = 512 byte
Kích thước cung (logic/vật lý): 512 byte / 512 byte
Kích thước I/O (tối thiểu/tối ưu): 512 byte / 512 byte
Loại nhãn đĩa: gpt
Mã định danh đĩa: 564A38FB-02AE-4E84-B080-173963955B2E
Thiết bị Bắt đầu Kết thúc Sector Kích thước Loại
/dev/nbd0p1 2048 4095 2048 Khởi động BIOS 1M
/dev/nbd0p2 4096 85977087 85972992 Hệ thống tệp Linux 41G
Lệnh (m để được giúp đỡ): d
Số phân vùng (1,2, mặc định 2): 2
Phân vùng 2 đã bị xóa.
Lệnh (m để được giúp đỡ): n
Số phân vùng (2-128, mặc định 2): 2
Khu vực đầu tiên (4096-104857566, mặc định 4096):
Cung cuối, +/- cung hoặc +/-size{K,M,G,T,P} (4096-104857566, mặc định 104857566):
Đã tạo một phân vùng mới 2 thuộc loại 'hệ thống tệp Linux' và có kích thước 50 GiB.
Phân vùng số 2 chứa chữ ký ext4.
Bạn có muốn xóa chữ ký không? [Y]es/[N]o: n <<<< NB!
Lệnh (m để được trợ giúp): w
Bảng phân vùng đã được thay đổi.
Gọi ioctl() để đọc lại bảng phân vùng.
Đồng bộ hóa đĩa.
root@virtual3:~# qemu-nbd --disconnect /dev/nbd0 <<< bước này không có trên trang web
/dev/nbd0 bị ngắt kết nối
root@virtual3:~# e2fsck -f /dev/mapper/loop0p2
e2fsck 1.45.5 (07-Jan-2020)
Superblock có nhật ký không hợp lệ (inode 8).
Xóa<y>? Vâng
*** tạp chí đã bị xóa ***
Xóa inode mồ côi 788499 (uid=0, gid=0, mode=0100644, size=113)
Inode bất hợp pháp 1642119663 trong danh sách inode mồ côi.
Vượt qua 1: Kiểm tra nút, khối và kích thước
Đã xóa inode 531606 không có dtime. Khắc phục<y>? Vâng
Đã tìm thấy các nút là một phần của danh sách liên kết mồ côi bị hỏng. Khắc phục<y>? Vâng
Inode 531609 là một phần của danh sách inode mồ côi. ĐÃ SỬA.
Inode 531610 là một phần của danh sách inode mồ côi. ĐÃ SỬA.
Inode 531613 là một phần của danh sách inode mồ côi. ĐÃ SỬA.
Inode 531614 là một phần của danh sách inode mồ côi. ĐÃ SỬA.
Pass 2: Kiểm tra cấu trúc thư mục
Pass 3: Kiểm tra kết nối thư mục
Vượt qua 4: Kiểm tra số lượng tham chiếu
Pass 5: Kiểm tra thông tin tóm tắt nhóm
Khối miễn phí được tính sai cho nhóm #97 (21582, được tính = 21583).
Khắc phục<y>? Vâng
Số khối miễn phí bị sai (6192364, được tính = 6252696).
Khắc phục<y>? Vâng
Sự khác biệt về bitmap inode: -531606 -(531609--531610) -(531613--531614) -788499
Khắc phục<y>? Vâng
Số nút miễn phí được tính sai cho nhóm #64 (869, được tính = 874).
Khắc phục<y>? Vâng
Số nút miễn phí được tính sai cho nhóm #96 (2772, được tính = 2773).
Khắc phục<y>? Vâng
Số inode miễn phí sai (2511328, đếm=2511295).
Khắc phục<y>? Vâng
Sự khác biệt về bitmap khối: Bitmap khối nhóm 97 không khớp với tổng kiểm tra.
ĐÃ SỬA.
Tạo lại nhật ký ('a' bật 'có' cho tất cả) <y>? vâng với tất cả
Tạo nhật ký (65536 khối): Xong.
*** tạp chí đã được tạo lại ***
/dev/mapper/loop0p2: ***** HỆ THỐNG TẬP TIN ĐÃ ĐƯỢC SỬA ĐỔI *****
/dev/mapper/loop0p2: 175681/2686976 tệp (0,6% không liền kề), 4559464/10746624 khối
root@virtual3:~# resize2fs /dev/mapper/loop0p2 <<<< Trang web NB đề cập đến /dev/nbd0
resize2fs 1.45.5 (07-Jan-2020)
Thay đổi kích thước hệ thống tệp trên các khối /dev/mapper/loop0p2 thành 13106683 (4k).
Hệ thống tệp trên /dev/mapper/loop0p2 hiện dài 13106683 (4k) khối.
root@virtual3:~# tune2fs -j /dev/mapper/loop0p2
tune2fs 1.45.5 (07-Jan-2020)
Hệ thống tập tin đã có một tạp chí.
root@virtual3:~# kpartx -dv /dev/loop0
bản đồ dev: loop0p2
del devmap : loop0p1
root@virtual3:~# losetup -d /dev/loop0
root@virtual3:~# virsh start nstest
Khách không khởi động được đúng cách !!!
Vị khách rơi vào vỏ cứu hộ, từ đó tôi đã làm:
fsck/dev/vda2
(đăng nhập qua trình xem máy tính từ xa.)
Một số mâu thuẫn đã được cố định.
Đây có thể là vấn đề của riêng tôi - hy vọng không phải của bạn!
Bây giờ khách sẽ khởi động nhưng vẫn chỉ 41G ........
bây giờ để thử lại!
root@virtual3:~# virsh start nstest
SAU ĐÓ đăng nhập vào khách qua ssh:
root@ns:~# resize2fs /dev/vda2
resize2fs 1.45.5 (07-Jan-2020)
Hệ thống tập tin tại /dev/vda2 được gắn trên /; yêu cầu thay đổi kích thước trực tuyến
old_desc_blocks = 6, new_desc_blocks = 7
Hệ thống tệp trên /dev/vda2 hiện dài 13106683 (4k) khối.
root@ns:~# df -h
Kích thước hệ thống tệp được sử dụng Sẵn có Sử dụng % Được gắn trên
......chụp.......
/dev/vda2 49G 17G 31G 36%/
THÀNH CÔNG!