मैं रिबूट के बिना अपने बढ़े हुए डिस्क आकार को फिर से पढ़ने के लिए सेंटोस वीएम कैसे प्राप्त करूं


16

मेरे पास एक CentOS 5 VM है और मैंने अभी VM डिस्क को 10G से 20G तक बढ़ाया है, लेकिन मुझे रिबूट के बिना नए डिस्क का आकार देखने के लिए fdisk नहीं मिल सकता है।

मैंने कोशिश की है echo 1 > /sys/block/sda/device/rescan, यह इंगित करने के लिए लगता है कि यह नए आकार को देख सकता है, लेकिन जब मैं एक नया विभाजन बनाने के लिए fdisk जाता हूं तो यह अभी भी डिस्क को 10G के रूप में देखता है।

कोई विचार?


आपके वर्चुअलाइजेशन प्लेटफॉर्म और स्टोरेज विधि के आधार पर, यह संभव हो सकता है या नहीं भी हो सकता है। विवरण का मामला।
Womble

आपने कौन सा वर्चुअल डिस्क प्रकार जोड़ा है: IDE या SCSI?
क्वांटा

वह पहला आदेश मेरे लिए काम किया ...
रोडो

जवाबों:


11

आपको अपने SCSI बस में rescan कमांड जारी करने की आवश्यकता है।

VMware में SCSI नियंत्रक कुछ असामान्य जगह पर पाया जा सकता है। पहले इसे खोजें:

find /sys -iname 'scan'

मेरे लिए वह लौट आया

/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

तो बस rescan कमांड जारी करें

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

वह मदद करनी चाहिए । :)


5
ls /sys/class/scsi_hostशायद तेज।
क्वांटा

11

मुझे एक समान समस्या से निपटना पड़ा, एक SLES 11 सर्वर पर। LVM कच्चे डिस्क के साथ बनाया गया था, जो VMWare ESXi पर चल रहा था

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

थोड़ी देर बाद मुझे LVM आकार बढ़ाने की आवश्यकता हुई, लेकिन मैंने पूरक डिस्क और उसके बाद pvcreate + vgextend नहीं जोड़ा, जैसा कि मैंने पहले किया है, लेकिन मैंने इस मामले में मौजूदा डिस्क (/ dev / sdd) का आकार बढ़ाने के लिए चुना )। VMWare में वृद्धि करने के बाद, मैंने एक निष्पादित किया

# rescan-scsi-bus.sh

लेकिन pvdisplay अभी भी 'पुराना' डिस्क आकार दिखा रहा था। यह करना आवश्यक था

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

कर्नेल के लिए / dev / sdd का नया डिस्क आकार जानने के लिए


6
echo 1 > /sys/block/sda/device/rescanमेरे लिए CentOS पर काम किया
बेनेडिकट कोपेल

-बैश: / sys / मॉड्यूल / scsi_mod / पैरामीटर / स्कैन: अनुमति से इनकार किया, उपयोगकर्ता नाम रूट है
Sarz

7

पहले करने के बाद echo 1 > /sys/block/sda/device/rescan

pvresize /dev/sda मेरे लिए चाल चली


3

यदि विभाजन तालिका सीधे उपयोग में है (जैसे आपने आधार विभाजन का उपयोग करके फाइलसिस्टम को माउंट किया है) तो कर्नेल पुराने विभाजन तालिका का उपयोग करना जारी रखेगा जब तक कि यह अब नहीं है। किसी ने एक बार मुझसे कहा था कि यदि आप LVM का उपयोग कर रहे हैं, तो आप इसे इधर-उधर कर सकते हैं ...।


2

अद्यतन: Centos 6 - सक्रिय डिस्क ऑनलाइन के विभाजन तालिका को अद्यतन करने के लिए संभव नहीं है, Centos 7 - यह संभव है कि पिछले विभाजन को ग्रोनपार्ट के साथ विस्तारित करना या fdisk के साथ नया विभाजन बनाना और partprobe के साथ रिबूट के बिना इसे दिखाई देना संभव है । शायद उबंटू / डेबियन पर समान है। - 2.6 कर्नेल के बाद सक्रिय डिस्क के विभाजन तालिका के ऑनलाइन रीरेड का समर्थन करना शुरू कर दिया। चूँकि सवाल Centos 5 के लिए है, मैं कोई रास्ता नहीं कहूँगा।

यदि आप विभाजन का उपयोग कर रहे हैं तो आपको नए स्थान का उपयोग करने के लिए रीबूट करना होगा। मुझे इससे बचने का कोई रास्ता नहीं मिला। अगर किसी ने मुझे बता दिया है।

हालाँकि, रिबूट डिस्क पर अंतिम विभाजन का विस्तार करने या नया विभाजन जोड़ने के बाद किया जाना चाहिए। इससे पहले रिबूट करने के लिए समझ में नहीं आता है।

Rescan के बाद fdisk में बड़ा डिस्क आकार और lsblk में पहली चीज जो आपको देखनी चाहिए। यदि आप इसे नहीं देखते हैं तो आपको इन इको 1 और इको - - - कमांड के साथ खेलना होगा।

आपके द्वारा अधिक स्थान देखने के बाद आप विभाजन को बढ़ा / जोड़ सकते हैं, फिर रिबूट, वीजी का विस्तार, एलवी और एफएस बढ़ा सकते हैं।

यदि आप रिबूट से बचना चाहते हैं तो आपको sda1 / 2/3 पर विभाजन के बिना वॉल्यूम समूह में कच्ची एसडीए / बी / सी डिस्क असाइन करना होगा। फिर रिबूट की आवश्यकता नहीं है।

कुछ समय पहले विभाजन आवश्यक था जब लिनक्स LVM से बूट नहीं कर सकता था, लेकिन अब यह कर सकता है।

यदि आप lsblk करते हैं, तो आप विभाजन या lvms के आधार पर देखेंगे कि आप विभाजन या lvm का उपयोग कर रहे हैं, यदि आप विभाजन का उपयोग नहीं करते हैं तो आपके पास सभी भाग हो सकते हैं यदि आप lvm या सभी lvms का उपयोग नहीं करते हैं। यहाँ एक उदाहरण है:

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

0

मौजूदा डिस्क में परिवर्तन का पता लगाने के लिए:

echo 1 > /sys/class/block/sdX/device/rescan

नई डिस्क का पता लगाने के लिए:

echo 1 > /sys/class/scsi_device/X:X:X:X/device/block/device/rescan

पहली स्थिति में एक्स को खोजने के लिए आप उपयोग कर सकते हैं fdisk -l

https://kerneltalks.com/disk-management/how-to-rescan-disk-in-linux-after-extending-vmware-disk/


-5

आपको रिबूट करना है, इसके आसपास कोई रास्ता नहीं है।


कैसे rescan करने के लिए बल प्रणाली के बारे में?
क्वांटा

मुझे रिबूट करना
पड़ा

मुझे भी रिबूट करना पड़ा।
ondra

1
यह पूरी तरह से असत्य है। मैंने इसे कई बार रिबूट किए बिना किया है।
डंकन एक्स सिम्पसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.