Я шукав спосіб оновити шину scsi (або будь-яку іншу шину для цього), яка дозволила б моєму ядру (2.6.18-194-el5 на CentOS 5.5) знати про розділи на диску, і я не міг я не знайду способу. partprobe зробив це миттєво. Як?
Оскільки це важливо, ось що я робив:
Я хотів отримати певну практику в конкретних розділах, таких як зміна розміру, резервне копіювання MBR та відновлення його тощо. Я створив розділ на 20 ГБ на / dev / sdb, створив резервну копію MBR:
dd, якщо = / dev / sdb = sdb.mbr bs = 512 count = 1
потім я зайшов у fdisk, видалив розділ, написав його та вийшов.
ls / dev / sdb *
показали, що перегородки не було, і
fdisk -l / dev / sdb '
збігався, тому я подумав, що я хороший.
Потім я повернув DD:
dd, якщо = sdb.mbr of = / dev / sdb bs = 512 count = 1
Звичайно, я нічого тоді не робив
ls / dev / sdb *
не вказав жодних розділів, але
fdisk -l
показав розділ, імовірно, тому, що він читає перші 512 байти на диску і не покладається на ядро. Я знав, що мені доведеться оновити шину, тому зайшов у / sys / class / scsi_host / host1, і зробив
ехо "- - -"> сканування
і робити
ls / dev / sdb
не показав нічого нового, тож я перейшов до / sys / bus / scsi / пристроїв, і для кожного з перерахованих пристроїв я зробив
echo 1> переглядати
і це не спрацювало.
Потім я провів більше досліджень проблеми і натрапив на "partprobe", який поставляється з розірваним. Я запустив його, і це спрацювало миттєво.
Якщо я не отримаю ймовірної відповіді тут, я, мабуть, збираюся просто дістати джерело і переглянути його, але я вважаю, що за мною тут є чарівники, тож я подумав, що звернусь до вас усіх.