Rivedere la tabella delle partizioni senza riavviare?

A volte, quando si ridimensiona o si mucking con partizioni su un disco, cfdisk dirà:

Wrote partition table, but re-read table failed. Reboot to update table.

  • Linux / mysql: è sicuro copiare i file db mysql con command cp da un db all'altro?
  • Sono stati eseguiti tutti i registri di if / when "at" jobs?
  • Quali file vengono creati / modificati quando si aggiunge un utente (useradd) in linux?
  • Qual è il modo giusto di verificare se un PID è in esecuzione?
  • Perché una singola unità molto più veloce di 4 in RAID5?
  • sniff port seriale su Linux
  • (Ciò accade anche con altri strumenti di partizionamento, quindi penso che questo sia un problema Linux piuttosto che un problema cfdisk.) Perché è questo e perché accade solo a volte , e cosa posso fare per evitarlo?

    Nota: si prega di supporre che nessuna delle partizioni in realta 'di editing sia aperta, montata o altrimenti in uso.


    Aggiornare:

    cfdisk usa ioctl(fd, BLKRRPART, NULL) per informare Linux per rivalorizzare la tabella delle partizioni. Due degli altri strumenti finora raccomandati ( hdparm -z DEVICE , sfdisk -R DEVICE ) fanno esattamente la stessa cosa. Il command partprobe DEVICE , d'altra parte, sembra utilizzare un nuovo ioctl chiamato BLKPG, che potrebbe essere migliore; Non lo so. (Ritorna anche su BLKRRPART se BLKPG non riesce).

    BLKPG sembra essere una "questa partizione è cambiata, ecco la nuova dimensione" operazione, e sembrava partprobe chiamata singolarmente su tutte le partizioni sul dispositivo passato, quindi dovrebbe funzionare se le singole partizioni non vengono utilizzate. Tuttavia, non ho avuto l'opportunità di provarlo.

  • fdisk - partizione in linea singola
  • utilizzando fdisk: visualizza la dimensione in un'unità come MB o GB
  • Dopo l'espansione di arrays RAID hardware fdisk non permetterò di utilizzare altri settori disponibili
  • scambiando un'unità difettosa in un arrays di raid con un nuovo ... ma WD ha cambiato la dimensione del block?
  • e2label Numero magico difettoso nel super-block?
  • Non posso trovare i miei harddrives nell'installazione di ubuntu?
  • 10 Solutions collect form web for “Rivedere la tabella delle partizioni senza riavviare?”

    IMHO la risposta più affidabile / migliore è

     partprobe /dev/sdX 

    Rieseguire le informazioni sulla tabella delle partizioni non sempre funziona, ma provate

     hdparm -z /dev/sda 

    o

     sfdisk -R /dev/sda 

    Se funziona, i valori in / proc / partizioni cambiano.

    Su Centos7:

    Secondo https://access.redhat.com/solutions/199573

    Dovresti provare :

     partx -u <partition> 

    Ha funzionato per me.

    Nota: si prega di supporre che nessuna delle partizioni in realta 'di editing sia aperta, montata o altrimenti in uso.

    Dato questo assunto, la tabella delle partizioni può essere risolta con successo e il problema non sorgerà. Se stai ricevendo tale errore, è perché la tabella delle partizioni è attualmente in uso e pertanto non può essere rieseguita senza creare incongruenze.

    sono su centos 6.5 x64; kernel 2.6.32. e sto provando il trucco fdisk per ridimensionare.

     /dev/sda1 /boot /dev/sda2 / 

    Tutti i seguenti comandi non hanno fatto la partizione di riletto del kernel:

    • partprobe / dev / sda (avviso: il kernel non è riuscito a rileggere ….)
    • hdparm -z / dev / sda (BLKRRPART non riuscito: dispositivo o risorsa occupata)
    • blockdev -rereadpt / dev / sda (BLKRRPART non riuscito: dispositivo o risorsa occupata)
    • sfdisk -R / dev / sda (BLKRRPART non riuscito: dispositivo o risorse occupati)

    ho ancora bisogno di un riavvio per farlo funzionare

    Non si basa su partizioni che state modificando.

    Supponiamo di avere solo un disco rigido ( /dev/sda ) e due partizioni ( /dev/sda1 , /dev/sda2 ) e avete montato solo una partizione ( /dev/sda1 ). Se si elimina o modifica qualcosa di un'altra partizione che non è ancora montata ( /dev/sda2 ) si ottiene l'errore che la lettura della tabella delle partizioni non è rioutput e il kernel utilizzerà la tabella precedente.

    Ma se si dispone di due hard disk ( /dev/sda , /dev/sdb ) e nessuna delle partizioni di ( /dev/sdb ) sono in uso. Quindi è ansible aggiungere / eliminare / ridimensionare / modificare le partizioni di /dev/sdb e saranno rilette senza alcun problema. Ma anche se una partizione di / dev / sdb è stata montata durante il cambiamento. Quindi il kernel continuerà a usare il vecchio tavolo.

    Io (l'interrogatore originale) ha avuto una situazione qualche giorno fa quando nessuna delle altre risposte (inclusa partprobe /dev/sdX , attualmente la risposta accettata e più votata) ha funzionato. Quello che ha funzionato, tuttavia, era questo:

     blockdev --rereadpt /dev/sdX 

    (Non so perché questo funziona e gli altri non lo hanno fatto, ma sono contento che ha funzionato, perché mi ha salvato un riavvio su un server occupato.)

    È anche ansible provare:

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

    (Ma non funziona, vedi il commento sotto)

    kpartx -a <partition> può essere eseguito due volte sulla partizione appena creata …. anziché riavviare il sistema.

    Se leggi la manpage per 'uomo oracleasmo-scandischi', noterai il text sottostante. l'oracleasmo utilizza / proc / partizioni come la fonte di tutta la scansione che esegue. È necessario get i tuoi dispositivi crudi elencati in / proc / partizioni prima di poter eseguire uno scandisca. I parametri Scanorder e Scanexclude inseriti in / etc / sysconfig / oracleasm si riferiscono ai nomi trovati in / proc / partizioni (!!!!).

    ———- uomo oracleasmo-scandischi —— …

    COME SCANNING HAPPENS La scansione procede in quattro fasi di base.

      First, the list of disks to scan is created. If disks were specified on the command line, this is the list. If not, /proc/partitions is read, and each block device is added, subject to the -o and -x options. Second, the partition tables of each disk in the scan are reloaded unless the -s option was specified. Any disks that no longer exist are dropped. Third, the list of disks is recreated based on the new partition tables. Finally, each disk in the list is checked to see if it is marked for ASM use. Disks that are marked are instantiated. 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.