Làm cách nào để di chuyển phân vùng gốc LVM 250 GB sang đĩa cứng 120 GB mới?


18

Tôi có tình huống sau:

Bản cài đặt Ubuntu (12.04) hiện tại của tôi đang chạy từ ổ cứng ngoài (250 GB) vì tôi lười mua một hdd nội bộ mới. Bây giờ tôi đã có một nội bộ mới (120 GB) và tôi muốn chuyển mọi thứ sang nội bộ. Việc cài đặt Ubuntu mới không còn gây khó chịu vì nó bị lỗi.

May mắn thay (tôi hy vọng vậy) phân vùng gốc được phân vùng bằng LVM, vì vậy tôi hy vọng tôi có thể di chuyển phân vùng sang ổ cứng nội bộ nhỏ hơn.

Điều này có thể không? Và tôi tìm sự giúp đỡ ở đâu?

EDIT: Câu hỏi này đã khá cũ và có thể bị lỗi thời. Tôi đã thêm phiên bản Ubuntu đã được sử dụng trước đó.


câu hỏi liên quan - các câu trả lời trên không đủ rõ ràng ...
MeSo2

Hai câu trả lời trên không đủ rõ ràng với tôi. Vì vậy, một bắt đầu một bài viết mới.
MeSo2

Câu trả lời:


39

Như bạn nghi ngờ, điều này cực kỳ thanh lịch khi sử dụng LVM.

Thu nhỏ cài đặt hiện có để phù hợp với đĩa nhỏ hơn.

Vật lý cài đặt đĩa cứng mới, định dạng và pvcreatenó, sử dụng vgextendđể thêm nó vào cùng vg với phân vùng gốc của bạn

Sử dụng pvmoveđể di chuyển trong suốt tất cả dữ liệu khỏi phân vùng cũ

Sử dụng vgreduceđể loại bỏ hd bên ngoài của bạn từ vg của bạn. Rút phích cắm đĩa cũ / dev / sdOLD.

Trong ví dụ dưới đây:

  • /dev/sdOLD là viết tắt của phân vùng cũ để thay thế
  • /dev/sdNEW là viết tắt của phân vùng mới để thay thế nó.
  • vgX là viết tắt của nhóm âm lượng

Ví dụ: Tất nhiên, bạn phải chắc chắn 100% rằng bạn đang sử dụng đúng thiết bị. Ngoài ra, có các bản sao lưu đầy đủ và cập nhật, được gỡ bỏ khỏi hệ thống, là điều cần thiết.

pvcreate /dev/sdNEW
vgextend vgX /dev/sdNEW
pvmove /dev/sdOLD
vgreduce vgX /dev/sdOLD

Sử dụng update-grubgrub-installđể làm cho đĩa gốc mới của bạn có khả năng khởi động

Làm xong.


Sẽ thật tuyệt nếu bạn đã cung cấp các ví dụ cụ thể.
isaaclw

12
Ah, thật tuyệt khi bỏ phiếu xuống một bài đăng được chấp nhận hợp lệ với thông tin hữu ích. Tôi cố tình KHÔNG đưa ra một ví dụ cụ thể, bởi vì nguy hiểm là ai đó sẽ vô tình sao chép-dán nó và phá hủy dữ liệu của anh ấy / cô ấy. Nếu bạn làm bất cứ điều gì với lvm, bạn sẽ có thể tìm thấy bạn mang theo con trỏ tôi đưa ra.
Floyd

2
Làm việc trên Cento7 là tốt. Các bước được cung cấp ở đây là đủ để tôi học một chút và google một chút. Spot-on
khủng khiếp

centos: sử dụng grub2-mkconfig -o "$ (readlink -e /etc/grub2.cfg)" ... từ đây
18:30

21

Đầu tiên, nếu bạn đã sử dụng toàn bộ đĩa 250 GB cho cài đặt hiện tại của mình, bạn sẽ cần thu nhỏ nó để phù hợp với đĩa 120 GB. Bạn chỉ có thể thu nhỏ hệ thống tập tin ext4 trong khi chưa kết nối, vì vậy bạn sẽ cần khởi động hệ thống trực tiếp Ubuntu (CD hoặc USB) hoặc hệ thống bảo trì trực tiếp chuyên dụng như GParted live . Bạn có thể sử dụng resize2fshoặc GParted để thay đổi kích thước hệ thống tập tin hiện có.

Khi bạn đã thu nhỏ (các) hệ thống tệp của bản cài đặt hiện tại của mình để vừa với đĩa mới, bạn có thể thực hiện phần còn lại của di chuyển với hệ thống tệp được gắn nếu bạn muốn. Nếu hệ thống tập tin hiện có vừa với đĩa mới, bạn có thể thực hiện chuyển mà không ngắt kết nối bất cứ điều gì hoặc khởi động lại.

Trong phần mô tả sau đây, tôi sẽ chỉ cho bạn cách chuyển từ âm lượng vật lý /dev/sdb1sang âm lượng vật lý /dev/sda1, với một nhóm âm lượng hiện có được gọi oldvg. Hãy chắc chắn điều chỉnh các ký tự đĩa và số phân vùng để phù hợp với hệ thống của bạn.

Để thực hiện chuyển khoản trực tiếp:

  1. Phân vùng đĩa mới, sử dụng các công cụ phân vùng bạn đã chọn ( cfdisk, fdisk, parted, ...). Xem ví dụ: Làm thế nào để tôi thêm một ổ cứng bổ sung?
  2. Tạo một ổ đĩa vật lý trên đĩa mới: pvcreate /dev/sda1
  3. Thêm âm lượng vật lý này vào nhóm âm lượng hiện có chứa (các) âm lượng logic bạn muốn di chuyển: vgextend oldvg /dev/sda1
  4. Di chuyển các khối hợp lý từ khối này sang khối khác: pvmove /dev/sdb1 /dev/sda1
  5. Chia nhóm âm lượng hiện có thành hai: vgsplit oldvg newvg /dev/sda1

Một phương pháp khác là làm cho (các) khối lượng logic hiện có thành một khối lượng gương với lvconvert --mirror, thiết lập một máy nhân bản trên đĩa mới, sau đó phân chia các gương với lvconvert --splitmirrors. Bằng cách này, bạn kết thúc với hai bản sao dữ liệu của mình và sau khi phân tách, mỗi bản sao sẽ dẫn đến cuộc sống của chính nó.

Sau khi bạn thực hiện xong bản sao, bạn sẽ cần làm cho đĩa mới có khả năng khởi động. Gắn kết hệ thống tập tin cho việc này. Giả sử nó được gắn kết /mnt, hãy chạy các lệnh này dưới quyền root:

chroot /mnt
# if the name of the volume group has changed, edit /etc/fstab
update-grub
grub-install /dev/sda

Ngoài ra, bạn có thể sử dụng Clonezilla . Đây là một công cụ nhân bản và thao tác đĩa mạnh mẽ và tôi nghĩ nó bao gồm tình huống của bạn, nhưng tôi không có kinh nghiệm với nó.


1
Làm thế nào một câu trả lời rằng về cơ bản nói pvadd, pvmove, pvremoveđược chấp nhận trên NÀY là ngoài tôi ...
ish

Quá phức tạp và không phải là thứ anh ta cần
Floyd
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.