Як зменшити / дім та додати більше місця на CentOS7


28

CentOS 7файлова система є XFS, і resize2fsне працює. Мені потрібно скоротити /homeдо 400G і додати 100G місця /. Що я повинен зробити?

# 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

Вихід lvs, vgs та pvs:

[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]~# 

Я виявив це: blog.endpoint.com/2015/01/…, де сказано, що це неможливо, але це продовжує відповідь.
Деві

Відповіді:


47

Як зазначають інші, файлову систему XFS неможливо зменшити.

Тож найкраще зробити резервну копію / домашню, видалити та відтворити її обсяг меншим розміром, а решту віддати вашому / кореневому тому, як виклав Коен ван дер Рійт у своєму дописі.

• резервне копіювання вмісту / home

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

• перевірити резервну копію

> tar -tvf /root/home.tgz

• відключити будинок

> umount /dev/mapper/centos-home

• видалити домашній логічний том

> lvremove /dev/mapper/centos-home

• відтворити новий логічний обсяг 400 Гб для / дому, відформатувати та встановити його

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

• розширити ваш / root-обсяг на ВСЕ, що залишилося, і змінити розмір (-r) файлової системи, виконуючи це

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

• відновити резервну копію

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

• перевірити / etc / fstab на будь-яке відображення / домашнього обсягу. Якщо він використовує UUID, слід оновити частину UUID. (Оскільки ми створили новий том, UUID змінився)

Це воно.

Сподіваюся, це допомагає.


1
під час умінгу може виникнути помилка зайнятості, може допомогти umount -l / dev / mapper / centos-home. і може виникнути ще одна помилка:
buxizhizhoum

Дотримуючись порад @ buxizhizhoum, команда yum install psmiscбула потрібна для того, fuserщоб бути доступною.
mythofechelon

Це справді спрацювало. Дякую! Мені ввійшли в систему за допомогою ssh, і мені потрібно було припинити з'єднання ssh, щоб видалити "lvremove". Як bartрекомендував користувач, я запускаюся restorecon -R -v /homeпісля закінчення всіх вищезазначених кроків.
Ікром

Дякую тобі. У моєму сценарії згадані команди мені дуже допомагають, це лише 10 хв. Робота. в гіршому випадку я взяв резервну копію VM, потім переходити до вищезазначених команд, тоді я зміг розширити об'єм кореня.
Харша Вардхана

5

На додаток до відповіді Арі, оскільки я не зміг ssh за допомогою аутентифікації відкритого ключа після виконання його вказівок.

Якщо увімкнено selinux, ви можете отримати це повідомлення в / var / log / messages (з налагодженням увімкнено в sshd_config), оскільки / home було відтворено:

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

Виправте це:

restorecon -R -v /home

3

Ви не можете зменшити файлову систему XFS .
Вирощувати їх можна тільки за допомогою xfs_growfs.

Дивіться: https://access.redhat.com/solutions/540013
та
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/xfsgrow.html

Наразі неможливо зменшити розмір розділу чи логічного обсягу за допомогою файлової системи xfs. Як можливе вирішення в деяких середовищах, тонкі передбачені обсяги LVM можуть розглядатися як додатковий шар під файловою системою XFS.


Дізнайтеся, що займає стільки місця під, /і розділіть його як власну файлову систему.


альтернативно, ви можете зробити резервне копіювання / додому, побачивши його лише 20 г і вбити цей НН і відтворити його з належними розмірами
Koen van der Rijt

Дякую тобі. можливо, я повинен знищити /homeта перерозподілити простір за потребою.
GoingMyWay

0

це можна зробити в живій системі, лише якщо вона розділена за допомогою LVM - логічного керування гучністю. який вихід:

lvs -v
vgs -v
pvs -v

Сер, я оновив питання, додав висновок.
GoingMyWay

дивіться вище, ви намалювали себе в кутку!
Sum1sAdmin

0

Перше, що вам потрібно зробити, це перевірити, що використовує весь ваш вільний простір на диску, інакше ця проблема знову виникне десь у майбутньому.

Якщо вам дійсно потрібно змінити розмір, мій підхід буде:

  • створити резервну копію вмісту / home. (його всього 20 г)
  • umount /home
  • знищити домашній логічний том ( lvremove)
  • виділити простір за потребою, змінити розміри обсягів. ( lvextend, resize2fs)
  • відтворити новий логічний том для / home, форматувати та змонтувати його ( lvcreate, mkfs.xfs)
  • відновлення резервної копії
  • двічі перевірте вміст / etc / fstab, що ви зможете встановити правильний гучність для / home
  • бігати mount -aабоreboot
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.