Puncte:2

Cum să faci nucleul Linux să rescaneze discurile virtio?

drapel id

Am un disc virtio montat pe un invitat KVM, susținut de un volum logic LVM. Am mărit volumul logic cu lvresize pe mașina gazdă KVM.

Apoi a trebuit să emit virsh pool-refresh pentru a face gazda KVM conștientă de modificarea dimensiunii volumului. Acum, dacă verific volumul virt-manager, văd dimensiunea corectă a discului. Dar sistemul de operare invitat încă vede discul după dimensiunea veche, indiferent de ce.

Cum pot forța kernel-ul Linux să rescaneze discurile virtio fără a reporni invitatul?

Celelalte soluții pe care le-am găsit nu au fost specifice virtio și nu au funcționat. Ca echo "- - -" > /sys/class/scsi_host/host0/scan ar trebui să funcționeze pentru discuri SCSI, dar nu pentru virtio. Un alt sfat, echo 1 > /sys/block/vda/device/rescan nu funcționează pentru că rescanați fisierul nu exista.

Deci știți despre vreun sfat specific pentru virtio pentru ca discul meu virtio să fie rescanat?

tsc_chazz avatar
drapel vn
Comanda `echo` nu va crea fișierul `rescan`? Poate că acesta să fie ideea?
MegaBrutal avatar
drapel id
@tsc_chazz Nu, am primit un mesaj „Permisiune refuzată” când am încercat să-l creez, în ciuda faptului că am rulat comanda ca root. În general, nu trebuie să creați fișiere sub ``/proc`` sau ``/sys``, ele sunt sisteme de fișiere virtuale în care fișierele sunt mapate la setările kernelului.
Puncte:3
drapel cn

Pe lângă redimensionarea LV pe gazdă, spuneți oaspetului care rulează despre aceasta: virsh blockresize <domeniu> vda

Ca driver paravirtualizat, virtio nu se mai pretinde a fi SCSI, sugestiile de rescanare nu vor funcționa. De îndată ce oaspetele este conștient, volumul va fi mai mare.

Deși nu este util în acest caz, un script de scanare SCSI mai complet pentru Linux este rescan-scsi-bus.sh de la sg3_utils pachet.

MegaBrutal avatar
drapel id
Mulțumesc, a funcționat! Am văzut blockresize, dar deoarece necesită un argument de dimensiune, m-am gândit că de fapt redimensionează mediul de stocare de rezervă și nu știam cum tratează LV-urile. Dar se dovedește că argumentul dimensiunii nu contează cu adevărat când suportul media este un LV, doar anunță oaspetele despre dimensiunea reală a LV, nu încearcă să redimensioneze sau altceva. (Am experimentat acest lucru furnizând diverși parametri de dimensiune, trăiești o singură dată... Oaspetele a primit întotdeauna dimensiunea LV corectă.)
MegaBrutal avatar
drapel id
Am folosit următoarea comandă (argumentul dimensiunea nu contează cu adevărat în cazul în care stocarea de rezervă este un LVM LV): ``` root@vmhost:~# virsh blockresize Ubuntu_Focal vda 32G Blocarea dispozitivului „vda” este redimensionată ``` După succes, următoarele mesaje apar în memoria tampon de inel al nucleului oaspetelui: ``` [8126307.835588] virtio_blk virtio2: [vda] dimensiune nouă: 67108864 blocuri logice de 512 octeți (34,4 GB/32,0 GiB) [8126307.835600] vda: a detectat modificarea capacității de la 17179869184 la 34359738368 ```

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.