Bagaimana cara mendapatkan Centos VM untuk membaca kembali ukuran Disk yang meningkat TANPA reboot


16

Saya memiliki VM CentOS 5 dan saya baru saja menambah disk VM dari 10G menjadi 20G, tetapi saya tidak bisa membuat fdisk melihat ukuran disk baru tanpa reboot.

Saya sudah mencoba echo 1 > /sys/block/sda/device/rescan, tampaknya mengindikasikan ia dapat melihat ukuran baru, tetapi ketika saya pergi ke fdisk untuk membuat partisi baru ia masih melihat disk sebagai 10G.

Ada ide?


Bergantung pada platform virtualisasi dan metode penyimpanan Anda, ini mungkin atau mungkin tidak mungkin. Detail penting.
womble

Jenis disk virtual mana yang telah Anda tambahkan: IDE atau SCSI?
quanta

Perintah pertama itu berhasil untukku ...
Rodo

Jawaban:


11

Anda perlu mengeluarkan perintah pindai ulang ke bus SCSI Anda.

Dalam VMware pengontrol SCSI mungkin ditemukan di beberapa tempat yang tidak biasa. Pertama menemukannya:

find /sys -iname 'scan'

Bagi saya itu kembali

/sys/devices/pci0000:00/0000:00:07.1/host0/scsi_host/host0/scan
/sys/devices/pci0000:00/0000:00:07.1/host1/scsi_host/host1/scan
/sys/devices/pci0000:00/0000:00:10.0/host2/scsi_host/host2/scan

Kemudian cukup jalankan perintah pindai ulang

echo "- - -" >/sys/devices/pci0000:00/0000:00:07.1/host0/scsi_host/host0/scan
echo "- - -" >/sys/devices/pci0000:00/0000:00:07.1/host0/scsi_host/host1/scan
echo "- - -" >/sys/devices/pci0000:00/0000:00:10.0/host0/scsi_host/host2/scan

Itu akan membantu. :)


5
ls /sys/class/scsi_hostmungkin lebih cepat.
quanta

11

Saya harus berurusan dengan masalah yang sama, pada server SLES 11. LVM dibangun dengan disk mentah, berjalan di VMWare ESXi

# pvcreate /dev/sdd; vgextend ....

Setelah beberapa saat saya perlu meningkatkan ukuran LVM, tapi saya tidak menambahkan disk tambahan dan kemudian membuat + vgextend seperti yang saya lakukan sebelumnya, tapi saya memilih untuk menambah ukuran disk yang ada (/ dev / sdd dalam hal ini ). Setelah melakukan peningkatan VMWare, saya mengeksekusi a

# rescan-scsi-bus.sh

Tapi pvdisplay masih menunjukkan ukuran disk 'lama'. Itu perlu dilakukan

# echo 1 > /sys/block/sdd/device/rescan

agar kernel mempelajari ukuran disk baru dari / dev / sdd


6
echo 1 > /sys/block/sda/device/rescanbekerja untuk saya di CentOS
Benedikt Köppel

-bash: / sys / module / scsi_mod / parameter / scan: Izin ditolak, nama pengguna root
Sarz

7

setelah melakukan pertama echo 1 > /sys/block/sda/device/rescan

pvresize /dev/sda melakukan trik untukku


3

Jika tabel partisi langsung digunakan (mis. Anda telah menginstal sistem file menggunakan partisi dasar) kernel akan terus menggunakan tabel partisi lama hingga tidak lagi seperti ini. Seseorang pernah mengatakan kepada saya bahwa jika Anda menggunakan LVM Anda dapat menyiasati ini ....


2

Pembaruan: Centos 6 - tidak mungkin untuk memperbarui tabel partisi disk aktif online, Centos 7 - dimungkinkan untuk memperpanjang partisi terakhir dengan growpart atau membuat partisi baru dengan fdisk dan membuatnya terlihat tanpa reboot dengan partprobe . Mungkin sama di ubuntu / debian. - Pada titik tertentu setelah kernel 2.6 mulai mendukung membaca ulang secara online tabel partisi disk aktif. Karena pertanyaannya adalah untuk Centos 5 saya akan mengatakan tidak mungkin.

Jika Anda menggunakan partisi maka Anda harus reboot untuk menggunakan ruang baru. Saya tidak menemukan cara untuk menghindari ini. Jika seseorang memberi tahu saya.

Namun, reboot harus dilakukan setelah Anda memperpanjang partisi terakhir pada disk atau menambahkan partisi baru. Tidak masuk akal untuk reboot sebelumnya.

Hal pertama yang harus Anda perhatikan setelah memindai ulang adalah ukuran disk yang lebih besar di fdisk dan di lsblk. Jika Anda tidak melihatnya, Anda harus bermain dengan perintah echo 1 dan echo - - - ini.

Setelah Anda melihat lebih banyak ruang, Anda dapat menambah / menambah partisi, kemudian reboot, memperluas vg, memperpanjang lv dan fs.

Jika Anda ingin menghindari reboot, Anda harus menetapkan disk sda / b / c mentah ke grup volume tanpa mempartisi ke sda1 / 2/3. Maka tidak perlu untuk reboot.

Partisi diperlukan beberapa waktu lalu ketika linux tidak bisa boot dari LVM, tetapi sekarang bisa.

Jika Anda melakukan lsblk, Anda akan melihat partisi atau lvms tergantung pada apakah Anda menggunakan partisi atau lvm, Anda dapat memiliki semua bagian jika Anda tidak menggunakan lvm atau semua lvms jika Anda tidak menggunakan partisi. Ini salah satu contohnya:

root@srv4 ~ $ lsblk
NAME                        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                           8:0    0  7.3T  0 disk
├─sda1                        8:1    0  500M  0 part /boot
└─sda2                        8:2    0  7.3T  0 part
  ├─vg_srv4-LogVol13 (dm-0) 253:0    0  7.1T  0 lvm  /
  ├─vg_srv4-LogVol05 (dm-1) 253:1    0  100G  0 lvm  /var/log
  ├─vg_srv4-LogVol04 (dm-2) 253:2    0   20G  0 lvm  /var
  ├─vg_srv4-LogVol01 (dm-5) 253:5    0   20G  0 lvm  /opt
  ├─vg_srv4-LogVol00 (dm-6) 253:6    0   20G  0 lvm  /home
  ├─vg_srv4-LogVol03 (dm-7) 253:7    0   20G  0 lvm  /usr
  └─vg_srv4-LogVol02 (dm-8) 253:8    0    8G  0 lvm  /tmp


-5

Anda harus reboot, tidak ada jalan lain.


Bagaimana dengan sistem kekuatan untuk menelusuri ulang?
quanta

Saya memang harus reboot :-(
AndyM

Saya juga harus reboot.
ondra

1
Ini sama sekali tidak benar. Saya telah melakukan ini beberapa kali tanpa me-reboot.
Duncan X Simpson
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.