Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Виртуальная Среда
    Как сопоставить виртуальный диск Proxmox с диском виртуальной машины?

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Как сопоставить виртуальный диск Proxmox с диском виртуальной машины?, Proxmox Виртуальная Среда
     
    genfoch01
    Guest
    #1
    0
    27.04.2025 15:49:00
    Я создал VM с 5 дисками, 4 из них одинакового размера. В Proxmox в оборудовании VM они отображаются вот так Детали выглядят так (выделенный диск) В моей VM, используя `ls -l /dev/disk/by-id/`, я получаю вот это:

    ```
    root@openmediavault:~# ls -l /dev/disk/by-id/
    total 0
    lrwxrwxrwx 1 root root  9 Apr 26 16:38 ata-QEMU_DVD-ROM_QM00003 -> ../../sr0
    lrwxrwxrwx 1 root root  9 Apr 26 16:38 ata-QEMU_HARDDISK_QM00005 -> ../../sda
    lrwxrwxrwx 1 root root 10 Apr 26 16:38 ata-QEMU_HARDDISK_QM00005-part1 -> ../../sda1
    lrwxrwxrwx 1 root root 10 Apr 26 16:38 ata-QEMU_HARDDISK_QM00005-part2 -> ../../sda2
    lrwxrwxrwx 1 root root 10 Apr 26 16:38 ata-QEMU_HARDDISK_QM00005-part5 -> ../../sda5
    lrwxrwxrwx 1 root root  9 Apr 26 16:38 ata-QEMU_HARDDISK_QM00007 -> ../../sdb
    lrwxrwxrwx 1 root root 10 Apr 26 16:38 ata-QEMU_HARDDISK_QM00007-part1 -> ../../sdb1
    lrwxrwxrwx 1 root root 10 Apr 26 16:38 ata-QEMU_HARDDISK_QM00007-part9 -> ../../sdb9
    lrwxrwxrwx 1 root root  9 Apr 26 16:38 ata-QEMU_HARDDISK_QM00009 -> ../../sdc
    lrwxrwxrwx 1 root root 10 Apr 26 16:38 ata-QEMU_HARDDISK_QM00009-part1 -> ../../sdc1
    lrwxrwxrwx 1 root root 10 Apr 26 16:38 ata-QEMU_HARDDISK_QM00009-part9 -> ../../sdc9
    lrwxrwxrwx 1 root root  9 Apr 26 16:38 ata-QEMU_HARDDISK_QM00011 -> ../../sdd
    lrwxrwxrwx 1 root root 10 Apr 26 16:38 ata-QEMU_HARDDISK_QM00011-part1 -> ../../sdd1
    lrwxrwxrwx 1 root root 10 Apr 26 16:38 ata-QEMU_HARDDISK_QM00011-part9 -> ../../sdd9
    lrwxrwxrwx 1 root root  9 Apr 26 16:38 ata-QEMU_HARDDISK_QM00013 -> ../../sde
    lrwxrwxrwx 1 root root 10 Apr 26 16:38 ata-QEMU_HARDDISK_QM00013-part1 -> ../../sde1
    lrwxrwxrwx 1 root root 10 Apr 26 16:38 ata-QEMU_HARDDISK_QM00013-part9 -> ../../sde9
    ```

    Но я не вижу способа сопоставить QEMU_HARDDISK_QM00005 -> ../../sda с конкретным жестким диском, как это определено в Proxmox. Как это сделать? Спасибо.
    -GF
     
     
     
    guruevi
    Guest
    #2
    0
    27.04.2025 16:29:00
    Ты хочешь, чтобы они назывались "sata" вместо "sda"? Ну, это просто как ОС называет диски, и в случае с большинством современных Linux это можно поменять с помощью правил udev.
     
     
     
    bbgeek17
    Guest
    #3
    0
    27.04.2025 18:14:00
    Я думаю, что OP хочет визуально/ментально сопоставить (разобраться), является ли SDA sata0 или sata1. В общем, они должны быть в порядке. @genfoch01, если у тебя установлен QEMU agent, ты можешь запустить: qm guest cmd 3000 get-fsinfo Blockbridge : Ultra low latency all-NVME shared storage for Proxmox - https://www.blockbridge.com/proxmox
     
     
     
    genfoch01
    Guest
    #4
    0
    27.04.2025 21:51:00
    Ты прав, я хочу отобразить диски так, как их видит ВМ, на диски, которые я вижу назначенными ВМ в Proxmox. Например, при тестировании RAID я запустил: `echo offline > /sys/block/sdb/device/state echo 1 > /sys/block/sdb/device/delete`. Итак, теперь: `root@openmediavault:~# zpool status diskpool`
     `pool: diskpool`
    `state: DEGRADED`
    `status: One or more devices has been taken offline by the administrator.`
    `        Sufficient replicas exist for the pool to continue functioning in a`
    `        degraded state.`
    `action: Online the device using 'zpool online' or replace the device with`
    `        'zpool replace'.`
    `config:`

    `        NAME                           STATE     READ WRITE CKSUM`
    `        diskpool                       DEGRADED     0     0     0`
    `          raidz2-0                     DEGRADED     0     0     0`
    `            ata-QEMU_HARDDISK_QM00007  OFFLINE      0     0     0`
    `            ata-QEMU_HARDDISK_QM00009  ONLINE       0     0     0`
    `            ata-QEMU_HARDDISK_QM00011  ONLINE       0     0     0`
    `            ata-QEMU_HARDDISK_QM00013  ONLINE       0     0     0`

    Но какой диск (из Proxmox) соответствует `ata-QEMU_HARDDISK_QM00007`? У меня не установлен QEMU агент, так как я просто использовал ISO Openmediavault. Хотя он построен на Debian (bookworm), может быть, я могу просто его установить.
     
     
     
    Impact
    Guest
    #5
    0
    27.04.2025 22:38:00
    Почему ты используешь SATA? И почему поверх QCOW2 диска ZFS? В любом случае, серийные номера SCSI дисков можно легко соотнести с узлом. Обрати внимание на номер(а).

    Bash: # lsblk -do+FSTYPE,LABEL,VENDOR,MODEL,SERIAL
    NAME MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS FSTYPE LABEL VENDOR   MODEL         SERIAL
    sda    8:0    0   12G  0 disk                          ATA      QEMU HARDDISK QM00005
    sdb    8:16   0   20G  0 disk                          QEMU     QEMU HARDDISK drive-scsi0 I didn't experiment too much but it looks like the SATA disks can be checked like this.

    Bash: # ls -l /dev/disk/by-path/*ata* | grep "sd"
    lrwxrwxrwx 1 root root 9 Apr 27 22:44 /dev/disk/by-path/pci-0000:00:07.0-ata-1 -> ../../sdc
    lrwxrwxrwx 1 root root 9 Apr 27 22:44 /dev/disk/by-path/pci-0000:00:07.0-ata-1.0 -> ../../sdc
    lrwxrwxrwx 1 root root 9 Apr 27 22:44 /dev/disk/by-path/pci-0000:00:07.0-ata-2 -> ../../sdb
    lrwxrwxrwx 1 root root 9 Apr 27 22:44 /dev/disk/by-path/pci-0000:00:07.0-ata-2.0 -> ../../sdb

    udevadm info /dev/sdX тоже может быть полезно. Обрати внимание, что qm guest cmd XXX get-fsinfo работает только для смонтированных файловых систем, как следует из названия. Его вывод выглядит так.

    Bash: # qm guest cmd 101 get-fsinfo
    [
     {
       "disk": [
         {
           "bus": 0,
           "bus-type": "sata",
           "dev": "/dev/sdb1",
           "pci-controller": {
             "bus": 0,
             "domain": 0,
             "function": 0,
             "slot": 7
           },
           "serial": "QEMU_HARDDISK_QM00005",
           "target": 0,
           "unit": 0
         }
       ],
       "mountpoint": "/mnt/sata",
       "name": "sdb1",
       "total-bytes": 12913811456,
       "type": "ext4",
       "used-bytes": 24576
     },
     {
       "disk": [
         {
           "bus": 0,
           "bus-type": "scsi",
           "dev": "/dev/sda1",
           "pci-controller": {
             "bus": 1,
             "domain": 0,
             "function": 0,
             "slot": 1
           },
           "serial": "0QEMU_QEMU_HARDDISK_drive-scsi0",
           "target": 0,
           "unit": 0
         }
       ],
       "mountpoint": "/",
       "name": "sda1",
       "total-bytes": 18908688384,
       "type": "ext4",
       "used-bytes": 3598905344
     }
    ]
     
     
     
    genfoch01
    Guest
    #6
    0
    28.04.2025 01:24:00
    Я немного новенький в Proxmox (ранее использовал VirtualBox), так что у меня кривая обучения, и я пока не понимаю, как/почему выбирать SCSI вместо SATA. Я использую ZFS, потому что это тестовая VM OpenMediaVault, и я хотел настроить zfs на OMV так же, как это было бы настроено на физическом оборудовании, поскольку в конечном итоге, если я выясню, что OMV может делать все, что мне нужно, оно будет жить на нем. Спасибо, что нашли время помочь мне. Я попробую ваши предложения и вернусь с результатами -GF
     
     
     
    genfoch01
    Guest
    #7
    0
    29.04.2025 02:57:00
    Окей, я могу сопоставить /dev/sdX с путем ATA и ata-QEMU_HARDDISK_XXX, используя udevadm.

    Код: root@openmediavault:~# udevadm info /dev/sdc
    P: /devices/pci0000:00/0000:00:07.0/ata5/host4/target4:0:0/4:0:0:0/block/sdc
    M: sdc
    U: block
    T: disk
    D: b 8:32
    N: sdc
    L: 0
    S: disk/by-path/pci-0000:00:07.0-ata-3
    S: disk/by-diskseq/13
    S: disk/by-id/ata-QEMU_HARDDISK_QM00009
    S: disk/by-path/pci-0000:00:07.0-ata-3.0, но эта информация внутренна для ВМ, я хочу сопоставить ее с диском Proxmox , но я не вижу способа это сделать.

    Действительно кажется, что должна быть возможность определить, какой диск видит ВМ, и сопоставить его с диском, назначенным Proxmox. Я вижу, что могу сделать это вручную, документируя каждый диск по мере добавления, но это также означает, что мне нужно будет загружать систему хотя бы по разу для каждого диска (ну ладно, если они горяче подключаемые, но мои диски, кажется, не такие). Что-то очевидное упускаю? Спасибо еще раз, GF.
     
     
     
    fabian
    Guest
    #8
    0
    29.04.2025 08:47:00
    Для дисков, которые это поддерживают, можно установить такие свойства, как модель, серийный номер и WWN, чтобы упростить идентификацию внутри гостевой системы.
     
     
     
    bbgeek17
    Guest
    #9
    0
    29.04.2025 17:23:00
    Вот процедура, которую можно использовать:
    а) Войдите в режим мониторинга QM: qm monitor 3000
    б) Перечислите блочные устройства. Код: info block

    drive-sata0 (#block781): /dev/bbpve/bb-iscsi:vm-3000-disk-2 (raw)
       Подключен к:      sata0
       Режим кэша:       writeback, direct
       Обнаружение нулей:    on

    drive-sata1 (#block916): /dev/bbpve/bb-iscsi:vm-3000-disk-3 (raw)
       Подключен к:      sata1
       Режим кэша:       writeback, direct
       Обнаружение нулей:    on

    drive-sata2 (#block1195): /dev/bbpve/bb-iscsi:vm-3000-disk-4 (raw)
       Подключен к:      sata2
       Режим кэша:       writeback, direct
       Обнаружение нулей:    on

    drive-sata3 (#block1350): /dev/bbpve/bb-iscsi:vm-3000-disk-5 (raw)
       Подключен к:      sata3
       Режим кэша:       writeback, direct
    в) Сопоставьте с выводом UI или CLI. Код: qm config 3000|grep sata
    sata0: bb-iscsi:vm-3000-disk-2,size=32G
    sata1: bb-iscsi:vm-3000-disk-3,size=32G
    sata2: bb-iscsi:vm-3000-disk-4,size=32G
    sata3: bb-iscsi:vm-3000-disk-5,size=32G
    Blockbridge : Ultra low latency all-NVME shared storage for Proxmox - https://www.blockbridge.com/proxmox
     
     
     
    fba
    Guest
    #10
    0
    29.04.2025 19:12:00
    Это быстрее. Кстати, используя SCSI, ты можешь запустить lsblk -o PATH,SERIAL,HCTL в виртуальной машине, и последний символ в выводе HCTL должен соответствовать scsiX в конфигурации виртуалки, так что ты можешь получить связь между серийным номером и портом в одной команде.
     
     
     
    genfoch01
    Guest
    #11
    0
    29.04.2025 23:34:00
    Является ли QM монитор частью Qemu agent? И если да, то это корректный способ установки? Код: apt-get install qemu-guest-agent. Предполагая, что да, мне тогда нужно будет "включить" и запустить его (кажется). -GF
     
     
     
    bbgeek17
    Guest
    #12
    0
    30.04.2025 01:19:00
    Это часть стандартного PVE-пакета. "qm" — это нативный PVE-команд, не зависящий от наличия агента внутри VM. "monitor" — просто опция для QM.

    Blockbridge: Ультранизкая задержка на базе всего NVMe-хранилища для Proxmox - https://www.blockbridge.com/proxmox
     
     
     
    guruevi
    Guest
    #13
    0
    30.04.2025 01:23:00
    В GUI кликните на VM, затем слева есть Monitor. Код: Введите 'help' для справки.
    # info block
    pflash0 (#block168): /usr/share/pve-edk2-firmware//OVMF_CODE_4M.secboot.fd (raw, read-only)
       Attached to:      /machine/system.flash0
       Cache mode:       writeback

    drive-efidisk0 (#block311): json:{"driver": "raw", "size": "540672", "file": {"driver": "host_device", "filename": "/dev/rbd-pve/eb14b165-42bb-4c2b-8da5-a17a969bdafb/ceph-data/vm-118-disk-0"}} (raw)
       Attached to:      /machine/system.flash1
       Cache mode:       writeback

    drive-virtio0 (#block573): /dev/rbd-pve/eb14b165-42bb-4c2b-8da5-a17a969bdafb/ceph-data/vm-118-disk-2 (raw)
       Attached to:      /machine/peripheral/virtio0/virtio-backend
       Cache mode:       writeback
       Detect zeroes:    unmap
     
     
     
    bbgeek17
    Guest
    #14
    0
    30.04.2025 02:45:00
    Да, ещё один способ получить тот же результат. Blockbridge: ультранизкая задержка, хранилище на основе NVME для Proxmox - https://www.blockbridge.com/proxmox
     
     
     
    genfoch01
    Guest
    #15
    0
    30.04.2025 02:53:00
    Ок, понял.

    Code: # info block
    drive-ide2: [не вставлен]
       Подключен к:      ide2
       Съемное устройство: не заблокирован, лоток закрыт

    drive-sata0 (#block103): /mnt/pve/ssd_1TB/images/110/vm-110-disk-0.qcow2 (qcow2)
       Подключен к:      sata0
       Режим кэширования: writeback, direct
       Обнаружение нулей: on

    drive-sata1 (#block324): /mnt/pve/hdd_1TB/images/110/vm-110-disk-0.qcow2 (qcow2)
       Подключен к:      sata1
       Режим кэширования: writeback, direct
       Обнаружение нулей: on

    drive-sata2 (#block540): /mnt/pve/hdd_1TB/images/110/vm-110-disk-1.qcow2 (qcow2)
       Подключен к:      sata2
       Режим кэширования: writeback, direct
       Обнаружение нулей: on

    drive-sata3 (#block736): /mnt/pve/hdd_1TB/images/110/vm-110-disk-2.qcow2 (qcow2)
       Подключен к:      sata3
       Режим кэширования: writeback, direct
       Обнаружение нулей: on

    drive-sata4 (#block966): /mnt/pve/hdd_1TB/images/110/vm-110-disk-3.qcow2 (qcow2)
       Подключен к:      sata4
       Режим кэширования: writeback, direct
       Обнаружение нулей: on
    Code: root@openmediavault:~# lsblk -S -x hctl -o name,hctl,serial
    NAME HCTL       SERIAL
    sr0  1:0:0:0    QM00003
    sda  2:0:0:0    QM00005
    sdb  3:0:0:0    QM00007
    sdc  4:0:0:0    QM00009
    sdd  5:0:0:0    QM00011
    sde  6:0:0:0    QM00013
     
     
     
    bbgeek17
    Guest
    #16
    0
    30.04.2025 03:27:00
    В VM: Код: for disk in /dev/sd?; do echo "$disk: $(udevadm info --query=all --name=$disk | grep ID_SERIAL=)"; done
    /dev/sda: E: ID_SERIAL=0QEMU_QEMU_HARDDISK_drive-scsi0
    /dev/sdb: E: ID_SERIAL=0QEMU_QEMU_HARDDISK_drive-scsi2
    /dev/sdc: E: ID_SERIAL=QEMU_HARDDISK_QM00013
    /dev/sdd: E: ID_SERIAL=QEMU_HARDDISK_QM00015
    /dev/sde: E: ID_SERIAL=QEMU_HARDDISK_QM00017
    /dev/sdf: E: ID_SERIAL=QEMU_HARDDISK_QM00019

    На хосте: typescript qm monitor 3000 info qtree ctrl-d ctrl-d

    Код: root@pve-2:~# grep -B20 QM00019 typescript
                   bus: ahci0.4
                     type IDE
                   bus: ahci0.3
                     type IDE
                     dev: ide-hd, id "sata3"
                       drive = "drive-sata3"
                       backend_defaults = "auto"
                       logical_block_size = 512 (512 B)
                       physical_block_size = 512 (512 B)
                       min_io_size = 0 (0 B)
                       opt_io_size = 0 (0 B)
                       discard_granularity = 512 (512 B)
                       write-cache = "auto"
                       share-rw = false
                       account-invalid = "auto"
                       account-failed = "auto"
                       rerror = "auto"
                       werror = "auto"
                       ver = "2.5+"
                       wwn = 0 (0x0)
                       serial = "QM00019"

    Blockbridge : Ultra low latency all-NVME shared storage for Proxmox - https://www.blockbridge.com/proxmox
     
     
     
    genfoch01
    Guest
    #17
    0
    10.05.2025 20:41:00
    Извините за задержку с ответом, было много дел. Во-первых, огромное спасибо за пример, он помог мне направить свои усилия в нужное русло. Я никогда раньше не использовал `qm`, поэтому не понял, что "3000" нужно заменить идентификатором ВМ, которую я пытаюсь просмотреть. Я нашёл очень полезный скрипт здесь https://forum.proxmox.com/threads/execute-qm-monitor-commands-in-shell-script.105211/. Я просто заменил `VMID` на идентификатор моей ВМ.

    Код: root@proxmox2:~# cat test.sh
    #!/bin/bash
    QEMU_MONITOR_SOCKET_PATH=/var/run/qemu-server
    QEMU_MONITOR_SOCKET_EXT=qmp
    SOCAT=$(which socat) || { echo "socat cmd not found => exit"; exit 1; }
    VMID=110
    command="{ 'execute': 'qmp_capabilities' }
    { 'execute': 'human-monitor-command',
        'arguments': { 'command-line': '$@' } }
    "

    Затем я передал `info qtree` в скрипт и распарсил вывод (снова спасибо за пример, который вы дали, я бы не разобрался без него).

    Код: ./test.sh info qtree | grep -B17 QM000 | sed 's/\\r\\n/\n/g' | grep -A20 "ide-hd" | grep -e "ide-hd" -e "serial"

    И получаю очень некрасивый вывод, вроде этого:

    Код: dev: ide-hd, id "sata4"
               serial = "QM00013"
             dev: ide-hd, id "sata3"
               serial = "QM00011"
             dev: ide-hd, id "sata2"
               serial = "QM00009"
             dev: ide-hd, id "sata1"
               serial = "QM00007"
             dev: ide-hd, id "sata0"
               serial = "QM00005"

    Затем я могу сопоставить `sata#` с `serial #` с файлом виртуального диска Proxmox с помощью:

    Код: root@proxmox2:~# qm config 110

    boot: order=sata0;ide2;net0
    cores: 2
    cpu: host
    ide2: none,media=cdrom
    memory: 8192
    meta: creation-qemu=9.2.0,ctime=1744744525
    name: omv
    net0: virtio=BC:24:11:10:1D:FD,bridge=vmbr0,firewall=1
    numa: 0
    ostype: l26
    sata0: ssd_1TB:110/vm-110-disk-0.qcow2,size=50G
    sata1: hdd_1TB:110/vm-110-disk-0.qcow2,size=60G
    sata2: hdd_1TB:110/vm-110-disk-1.qcow2,size=60G
    sata3: hdd_1TB:110/vm-110-disk-2.qcow2,size=60G
    sata4: hdd_1TB:110/vm-110-disk-3.qcow2,size=60G

    Теперь я могу сопоставить `sata#` с `serial #` с файлом виртуального диска Proxmox. Если бы я мог прислать вам пиво, я бы это сделал. Не могу вас отблагодарить достаточно!

    GF
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2026 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры