Cara menyusut / beranda dan menambahkan lebih banyak ruang di CentOS7

28

CentOS 7sistem file XFS, Dan resize2fstidak berfungsi. Saya perlu menyusut /homemenjadi 400G dan menambahkan ruang 100G /. Apa yang harus saya lakukan?

# 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

Output dari lvs, vgs dan pvs adalah:

[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]~# 
GoingMyWay
sumber
Saya menemukan ini: blog.endpoint.com/2015/01/... yang mengatakan itu tidak mungkin tetapi berlanjut dengan semacam jawaban.
davey

Jawaban:

47

Seperti yang orang lain tunjukkan, sistem file XFS tidak dapat menyusut.

Jadi taruhan terbaik Anda adalah untuk mencadangkan / home, menghapus dan menciptakan kembali volumenya dalam ukuran yang lebih kecil dan memberikan sisanya ke volume / root Anda seperti yang Koen van der Rijt diuraikan dalam posnya.

• buat cadangan konten dari / home

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

• menguji cadangan

> tar -tvf /root/home.tgz

• unmount rumah

> umount /dev/mapper/centos-home

• hapus volume logis rumah

> lvremove /dev/mapper/centos-home

• membuat kembali volume logis 400GB baru untuk / home, format dan mount

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

• memperluas / root volume Anda dengan SEMUA ruang yang tersisa dan mengubah ukuran (-r) sistem file saat melakukannya

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

• kembalikan cadangan Anda

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

• periksa / etc / fstab untuk pemetaan / volume rumah. JIKA itu menggunakan UUID Anda harus memperbarui bagian UUID. (Sejak kami membuat volume baru, UUID telah berubah)

Itu dia.

Semoga ini membantu.

Ari
sumber
1
saat umounting, mungkin targetnya adalah error sibuk, umount -l / dev / mapper / centos-home mungkin bisa membantu. dan mungkin ada kesalahan lain berbunyi: "Logical volume centos / home berisi filesystem yang digunakan", fuser -kuc / dev / vg_data / backup mungkin bisa membantu.
buxizhizhoum
Mengikuti saran @ buxizhizhoum, perintah yum install psmiscdiperlukan agar fusertersedia.
mythofechelon
Benar-benar berhasil. Terima kasih! Saya masuk dengan ssh dan saya harus mengakhiri koneksi ssh untuk menghapus "lvremove". Seperti yang bartdisarankan pengguna, saya menjalankan restorecon -R -v /homesetelah menyelesaikan semua langkah di atas.
Ikrom
Terima kasih. Dalam skenario saya, perintah yang disebutkan sangat membantu saya, itu hanya pekerjaan 10 menit. untuk kasus terburuk saya telah mengambil cadangan VM kemudian lanjutkan dengan perintah di atas maka saya dapat memperluas volume root.
Harsha Vardhana
5

Selain jawaban Ari karena saya tidak dapat ssh menggunakan otentikasi kunci publik setelah mengikuti instruksinya.

Dengan selinux diaktifkan Anda bisa mendapatkan pesan ini di / var / log / messages (dengan debug diaktifkan di sshd_config) karena / home dibuat ulang:

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

Perbaiki dengan:

restorecon -R -v /home
Bart
sumber
3

Anda tidak dapat menyusutkan sistem file XFS .
Anda hanya bisa menumbuhkannya xfs_growfs.

Lihat: https://access.redhat.com/solutions/540013
dan
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/xfsgrow.html

Saat ini tidak mungkin untuk mengurangi ukuran partisi atau volume logis dengan sistem file xfs. Sebagai solusi yang mungkin di beberapa lingkungan, volume LVM yang disediakan tipis dapat dianggap sebagai lapisan tambahan di bawah sistem file XFS.


Cari tahu apa yang mengambil begitu banyak ruang di bawah /dan membaginya sebagai sistem file sendiri.

putih
sumber
atau Anda dapat
mem-
Terima kasih. mungkin saya harus menghancurkan /homedan merealokasi ruang yang diperlukan.
GoingMyWay
0

Anda hanya dapat melakukan ini pada sistem live jika dipartisi dengan LVM - manajemen volume logis. apa output dari:

lvs -v
vgs -v
pvs -v
Sum1sAdmin
sumber
Pak, saya telah memperbarui pertanyaan, menambahkan hasilnya.
GoingMyWay
lihat di atas, Anda telah melukis diri Anda ke sudut!
Sum1sAdmin
0

Hal pertama yang perlu Anda lakukan adalah memeriksa apa yang telah menggunakan semua ruang disk kosong Anda jika tidak masalah ini akan terjadi lagi di masa mendatang.

Jika Anda benar-benar perlu mengubah ukuran pendekatan saya adalah:

  • backup isi / home. (hanya 20g)
  • umount /home
  • hancurkan volume logis rumah ( lvremove)
  • mengalokasikan ruang sesuai kebutuhan, mengubah ukuran volume. ( lvextend, resize2fs)
  • buat volume logis baru untuk / home, format dan mount ( lvcreate, mkfs.xfs)
  • pulihkan cadangan
  • periksa kembali isi / etc / fstab bahwa Anda akan memasang volume yang benar untuk / home
  • jalankan mount -aataureboot
Koen van der Rijt
sumber