Cách tích hợp / trở lại nhà vào phân vùng chính, sau đó phát triển phân vùng


7

Tôi đã phạm sai lầm khi thiết lập một trong những máy ảo Linux dựa trên XenServer của chúng tôi. Tôi đã tạo một trao đổi riêng (tốt) và một thư mục riêng / nhà lớn (xấu) khi thực sự nó phải là một thư mục riêng / var lớn thay thế.

Bây giờ / var đã gần như bão hòa đĩa gốc, tôi muốn tái hòa nhập / trở lại phân vùng gốc, xóa phân vùng cũ 921GB / nhà, sau đó tăng phân vùng gốc lên 921GB để không bị phân vùng / hoán đổi.

Hiện tại:

[root@ /]# df -h

Filesystem                       Size  Used Avail Use% Mounted on 
/dev/mapper/VolGroup-lv_root      50G   43G  4.0G  92% / 
tmpfs                            3.9G     0  3.9G   0% 
/dev/shm /dev/xvda1              485M   72M  388M  16% /boot 
/dev/mapper/VolGroup-lv_home     921G  200M  874G   1% /home

Vì vậy, rõ ràng hơn, tôi cần biết cách di chuyển / nhà và nội dung của nó vào phân vùng gốc (/ dev / mapper / Volgroup-lv_root) và để Linux nhận ra nó là thư mục chính của HĐH, xóa / dev / mapper / Volgroup- phân vùng lv_home, sau đó phát triển phân vùng / dev / mapper / Volgroup-lv_root để lấy thêm 921GB có sẵn.

Tôi sẵn sàng trao đổi vị trí / nhà và / var nếu có thể, nhưng đây là một máy chủ sản xuất. Tôi có thể thực hiện các ảnh chụp nhanh ngay lập tức theo ý muốn, vì vậy một số thử nghiệm đêm muộn là có thể! ;)

Cảm ơn!

Câu trả lời:


10

Nó khá đơn giản, là root:

mkdir /home2
mv /home/* /home2/
umount -fl /home
lvremove /dev/VolGroup/lv_home
mv /home2 /home
  • chỉnh sửa fstab của bạn và xóa mục nhập cho / dev / Volgroup / lv_home
  • kiểm tra xem bạn có bao nhiêu dung lượng trong Volgroup với vgdisplay và thêm bao nhiêu vào lv_root với lvextend
  • sử dụng resize2fs hoặc xfs_growfs nếu thích hợp trên lv_root

Cảm ơn rất nhiều, tuy nhiên tôi nhận được "Khối lượng logic Volgroup / lv_home chứa một hệ thống tệp đang sử dụng." Tôi có cần phải làm điều này trong chế độ người dùng không?
stet

1
Tôi trộn các câu trả lời bên dưới và khởi động lại với / home nhận xét từ fstab và sau đó xóa nó. Cảm ơn.
stet

Cảm ơn vi đa trả lơi. Rất hữu ích. Tôi muốn thêm một cái gì đó: Tốt hơn là sử dụng tài khoản "root" trong "chế độ cứu hộ" để bạn có thể ngắt kết nối thư mục nhà thành công (vì người dùng root sử dụng một thư mục nhà khác).
MA

Theo bugzilla.redhat.com/show_orms.cgi?id=1705897 , đối với Centos 8, có vẻ như chúng ta phải sử dụng "xfs_growfs /" (điểm gắn kết thay vì tên thiết bị)
Khosro

4

Quá trình này sẽ hoạt động nếu hệ thống tập tin gốc của bạn có thể thay đổi kích thước (ví dụ ext4).

  1. sửa đổi người dùng hiện có hoặc tạo người dùng mới có thư mục chính không nằm dưới / home.
  2. xác minh rằng bạn có thể đăng nhập với tư cách người dùng đó và su vào root
  3. đảm bảo tất cả người dùng khác đã đăng xuất
  4. umount / home - nếu điều này không thành công thì quá trình người dùng vẫn có thể sử dụng / home. Kiểm tra với bộ nhiệt áp hoặc lsof
  5. remount / dev / mapper / Volgroup-lv_home trên một mount tạm thời - ví dụ: / mnt / home
  6. sử dụng rsync, cp -p hoặc một số công cụ khác để sao chép thư mục nhà của người dùng từ / mnt / home sang / home - xác minh rằng các quyền và quyền sở hữu là chính xác
  7. chỉnh sửa fstab để bình luận / nhà
  8. Người dùng hiện có thể được phép đăng nhập lại
  9. lvremove / dev / Volgroup / lv_home
  10. lvextend -L + 921G / dev / Volgroup / lv_root
  11. thay đổi kích thước2fs / dev / Volgroup / lv_root

Cảm ơn bạn đã làm rõ trong bước 10 và 11! Tôi hy vọng mọi người bỏ phiếu cho câu trả lời này.
stet

Ngoài ra, thay vì lvextend -L+921G /dev/VolGroup/lv_rootbạn có thể sử dụnglvextend -l +100%FREE /dev/VolGroup/lv_root
Khosro

0

Bạn cũng có thể làm điều này mà không cần tăng phân vùng bằng cách hoán đổi các điểm gắn kết:

ngắt kết nối phân vùng nhà:

umount /home

gắn kết nó ở một nơi khác, ví dụ: / mnt:

mount /dev/mapper/VolGroup-lv_home /mnt

di chuyển mọi thứ từ phân vùng vào thư mục chính của bạn (hiện đang ở phân vùng gốc):

mv /mnt/* /home/

di chuyển dữ liệu từ thư mục / var của bạn sang phân vùng:

mv /var/* /mnt/

kết nối lại phân vùng của bạn thành / var:

umount /mnt

mount /dev/mapper/VolGroup-lv_home /var

Hãy chắc chắn để thay đổi nội dung của bạn /etc/fstabsau đó cho phù hợp.


Điều này sẽ di chuyển các tệp được giữ bởi daemon một cách chính xác hay chúng sẽ tiếp tục được ghi vào bản gốc?
dùng9517

Tôi đề nghị dừng bất kỳ dịch vụ nào truy cập / var trước đó và bắt đầu lại chúng sau đó. Giữa các bước di chuyển dữ liệu từ / var / sang / mnt và chuyển sang / var /, thư mục / var sẽ trống để mọi thứ truy cập sẽ không hoạt động.
etagenklo
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.