$ sed -e 's/\(.\)\(..\)\(..\)/\1.\2.\3/' -e 's/\.0/./g' file
4.17.3
1.0.2
3.0.3
4.0.2
4.0.0
2.2.3
2.2.3
3.1.0
5.0.0
5.0.0
5.0.0
5.0.0
7.7.0
7.6.0
Первая замена sed
создает x.yy.zz
из xyyzz
. Он делает это путем захвата трех групп символов в отдельных группах захвата (\(.\)
и двух \(..\)
, где каждая точка соответствует одному символу ), а затем вставляет их снова с точками в -между ними..
Вторая замена удаляет любой нуль сразу после точки.
Мне удалось добавить несколько транзитных устройств PCI, используя следующий подход.
Если вы выполняете команду интерфейса attach -только с--config
(, удалите --live
), libvirt сможет автоматически добавлять порт pcie -root -. то, что он знает, требуется. Тогда вам просто нужно выключить и перезапустить гость для устройства, которое будет добавлено к запущенному гостевому экземпляру (a простой перезагрузки из-под гостя недостаточно, нужно его полностью закрыть вниз, чтобы запустить новый процесс qemu)
В общем.
virsh attach-device VM_NAME PCI_entry.xml --config
virsh destroy VM_NAME
virsh start VM_NAME
Источник:Re :[пользователи libvirt -] не могут добавить сеть pci к существующей виртуальной машине
Проблема решена. Есть способ решить эту проблему путем добавления мостов PCI/PCIe, но он кажется достаточно сложным, да и информации мало. Итак, я нашел страницу документации libvirt, предоставленную RedHat, с большим количеством информации. Подводя итог :Есть 3 способа добавить блочные устройства в гостевую виртуальную машину, я использовал самый простой. Просто отредактируйте xml-файл нужной цели с помощью virsh edit "domain"
и добавьте следующее содержимое под последним оператором, появляющимся в файле.
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source dev='/dev/sdx'/>
<target dev='vda' bus='virtio'/>
</disk>
Чтобы все заработало, в вашем случае все равно придется заменить "vda" и "sdx". При использовании этого метода мосты PCI будут созданы автоматически. Очень легко решить эту проблему, используя этот способ.
Ссылка на статью. 13.3.2. Добавление жестких дисков и других блочных устройств к гостю
Использовать --в режиме реального времени, когда машина работает, не использовать ее, если она отключена
для создания нескольких тестовых дисков в bash:
for i in {1..12};do sudo qemu-img create -f raw testdisk$i.raw 10G;done
для подключения дисков в python3:
import os
y='g,h,i,j,k,l,m,n,o,p,r,s,t,u,v,y,z'.split(',')
for i in range(1,13):
s='virsh attach-disk optmb_fileserver '+'/home/gediz/Desktop/testdisk'+str(i)+'.raw '+'vd'+y[i]+' --config --live'
print(os.popen(s).read())