Cách thu nhỏ / nhà và thêm không gian trên CentOS7


28

CentOS 7hệ thống tập tin là XFS, và resize2fskhông hoạt động. Tôi cần thu nhỏ lại /home400G và thêm dung lượng 100G vào /. Tôi nên làm gì?

# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   50G   50G  341M 100% /
devtmpfs                 7.8G     0  7.8G   0% /dev
tmpfs                    7.8G   84K  7.8G   1% /dev/shm
tmpfs                    7.8G  778M  7.0G  10% /run
tmpfs                    7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/sda1                497M  241M  257M  49% /boot
tmpfs                    1.6G   16K  1.6G   1% /run/user/42
tmpfs                    1.6G     0  1.6G   0% /run/user/0
/dev/mapper/centos-home  500G   20G  480G   4% /home

Đầu ra của lvs, vss và pvs là:

[root@localhost]~# lvs -v
    Using logical volume(s) on command line.
  LV   VG     #Seg Attr       LSize   Maj Min KMaj KMin Pool Origin Data%  Meta%  Move Cpy%Sync Log Convert LV UUID                                LProfile
  home centos    1 -wi-ao---- 499.38g  -1  -1  253    2                                                     4I53D9-7VSm-HN9H-QsSp-FvFU-5R9D-y5VwsN         
  root centos    1 -wi-ao----  50.00g  -1  -1  253    0                                                     LGRoEL-0EHz-G135-p6vx-Lt2s-RvI5-qdT9Sm         
  swap centos    1 -wi-ao----   7.81g  -1  -1  253    1                                                     UYB5xP-cEyV-lWvn-blIq-8s13-9kVB-ykjIWI         
[root@localhost]~# vgs -v
    Using volume group(s) on command line.
  VG     Attr   Ext   #PV #LV #SN VSize   VFree  VG UUID                                VProfile
  centos wz--n- 4.00m   1   3   0 557.26g 64.00m Gd5c08-ujdQ-fsix-o7z6-Wfsv-C0uW-XzDois         
[root@localhost]~# pvs -v
    Using physical volume(s) on command line.
    Found same device /dev/sda2 with same pvid TCmreQr93apETNoTl8bMc54l57FZ5hut
  PV         VG     Fmt  Attr PSize   PFree  DevSize PV UUID                               
  /dev/sda2  centos lvm2 a--  557.26g 64.00m 557.26g TCmreQ-r93a-pETN-oTl8-bMc5-4l57-FZ5hut
[root@localhost]~# 

Tôi tìm thấy cái này: blog.endpoint.com/2015/01/ mà nói rằng điều đó là không thể nhưng tiếp tục với một số câu trả lời.
davey

Câu trả lời:


47

Như những người khác đã chỉ ra, hệ thống tập tin XFS không thể được thu hẹp.

Vì vậy, cách tốt nhất của bạn là sao lưu / nhà, loại bỏ và tạo lại âm lượng của nó ở kích thước nhỏ hơn và đưa phần còn lại vào âm lượng / gốc của bạn giống như Koen van der Rijt đã nêu trong bài đăng của mình.

• sao lưu nội dung của / nhà

> tar -czvf /root/home.tgz -C /home .

• kiểm tra bản sao lưu

> tar -tvf /root/home.tgz

• về nhà

> umount /dev/mapper/centos-home

• loại bỏ khối lượng logic nhà

> lvremove /dev/mapper/centos-home

• tạo lại một khối lượng logic 400 GB mới cho / nhà, định dạng và gắn kết nó

> lvcreate -L 400GB -n home centos
> mkfs.xfs /dev/centos/home
> mount /dev/mapper/centos-home

• mở rộng âm lượng / gốc của bạn với TẤT CẢ không gian còn lại và thay đổi kích thước (-r) hệ thống tệp trong khi thực hiện việc đó

> lvextend -r -l +100%FREE /dev/mapper/centos-root

• khôi phục lại bản sao lưu của bạn

> tar -xzvf /root/home.tgz -C /home

• kiểm tra / etc / fstab cho bất kỳ ánh xạ / khối lượng nhà. NẾU nó đang sử dụng UUID, bạn nên cập nhật phần UUID. (Vì chúng tôi đã tạo một tập mới, UUID đã thay đổi)

Đó là nó.

Hi vọng điêu nay co ich.


1
khi umount, có thể có mục tiêu là lỗi bận, umount -l / dev / mapper / centos-home có thể giúp đỡ. và có thể có một lỗi khác ghi: "Khối lượng logic / nhà chứa một hệ thống tập tin đang sử dụng", fuser -kuc / dev / vg_data / backup có thể hữu ích.
buxizh Fuzhoum

Theo lời khuyên của @ buxizh Fuzhoum, lệnh yum install psmiscđược yêu cầu fuserđể có sẵn.
huyền thoại

Nó thực sự làm việc. Cảm ơn bạn! Tôi đã đăng nhập bằng ssh và tôi cần chấm dứt kết nối ssh để xóa "lvremove". Theo bartkhuyến cáo của người dùng, tôi chạy restorecon -R -v /homesau khi hoàn thành tất cả các bước trên.
Ikrom

Cảm ơn bạn. Trong kịch bản của tôi, các lệnh được đề cập đã giúp tôi rất nhiều, đó chỉ là công việc 10 phút. trong trường hợp xấu nhất tôi đã thực hiện sao lưu VM sau đó tiến hành các lệnh trên thì tôi đã có thể mở rộng âm lượng gốc.
Harsha Vardhana

5

Một bổ sung cho câu trả lời của Ari vì tôi không thể sử dụng xác thực khóa công khai sau khi làm theo hướng dẫn của anh ấy.

Khi bật selinux, bạn có thể nhận được thông báo này trong / var / log / message (với gỡ lỗi được bật trong sshd_config) vì / home đã được tạo lại:

SELinux is preventing /usr/sbin/sshd from read access on the file authorized_keys

Khắc phục bằng cách:

restorecon -R -v /home

3

Bạn không thể thu nhỏ hệ thống tập tin XFS .
Bạn chỉ có thể phát triển chúng với xfs_growfs.

Xem: https://access.redhat.com/solutions/540013

https://access.redhat.com/documentation/en-US/Red_Hat_ Entryprise_Linux / 6 / ml

Hiện tại không thể giảm kích thước của phân vùng hoặc khối lượng logic với hệ thống tệp xfs. Như một cách giải quyết có thể có trong một số môi trường, khối lượng LVM được cung cấp mỏng có thể được coi là một lớp bổ sung bên dưới hệ thống tệp XFS.


Tìm hiểu những gì chiếm quá nhiều không gian bên dưới /và phân chia nó thành hệ thống tập tin riêng của nó.


Ngoài ra, bạn có thể sao lưu / nhà chỉ nhìn thấy 20g và giết LV đó và tạo lại nó với kích thước phù hợp
Koen van der Rijt

cảm ơn bạn. có lẽ tôi nên phá hủy /homevà phân bổ lại không gian khi cần thiết.
Đi MYWay

0

bạn chỉ có thể làm điều này trên một hệ thống trực tiếp nếu nó được phân vùng bằng LVM - quản lý âm lượng hợp lý. đầu ra của:

lvs -v
vgs -v
pvs -v

Thưa ông, tôi đã cập nhật câu hỏi, thêm đầu ra.
Đi MYWay

xem ở trên, bạn đã vẽ mình vào một góc!
Sum1sAdmin

0

Điều đầu tiên bạn cần làm là kiểm tra những gì đã sử dụng hết dung lượng đĩa trống của bạn nếu không vấn đề này sẽ xảy ra một lần nữa trong tương lai.

Nếu bạn thực sự cần thay đổi kích thước, cách tiếp cận của tôi sẽ là:

  • sao lưu nội dung của / nhà. (chỉ 20g)
  • umount /home
  • phá hủy khối lượng logic nhà ( lvremove)
  • phân bổ không gian khi cần thiết, thay đổi kích thước khối lượng. ( lvextend, resize2fs)
  • tạo lại một khối lượng logic mới cho / home, định dạng và gắn kết nó ( lvcreate, mkfs.xfs)
  • khôi phục lại bản sao lưu
  • kiểm tra kỹ nội dung của / etc / fstab rằng bạn sẽ lắp đúng âm lượng cho / home
  • chạy mount -ahoặcreboot
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.