Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    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 Rest API?

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Баг с Proxmox Rest API?, Proxmox Виртуальная Среда
     
    whiggs
    Guest
    #1
    0
    01.04.2025 00:24:00
    Привет всем. Кажется, я нашел баг с proxmox api. Вот powershell скрипт, который я написал и который использует Powershell модуль Corsinvest.ProxmoxVE.Api для создания vm:

    Код:
    $apikey = 'root@pam!api=Idontthinkso'
    $key = Connect-PveCluster -HostsAndPorts 192.168.1.15:8006 -SkipCertificateCheck -ApiToken $apikey
    $sata = @{}
    $sata.Add("0", "fourt:100")
    $sata.Add("1", "fourt:0,import-from=/mnt/pve/iso/template/iso/SERVER.VHD")
    $ide = @{}
    $ide.Add("2", "big:iso/virtio-win-0.1.266.iso,media=cdrom")
    $usb = @{}
    $usb.Add("0", "spice,usb3=1")
    $net = @{}
    $net.Add(0, "model=e1000,bridge=vmbr0,firewall=1")
    $vmid = 100
    New-PveQemu -Memory "4096" -Bios ovmf -Cpu host -Cores 4 -Machine q35 -Node prox -Pool res -Ostype win10 -Scsihw virtio-scsi-pci -Vmid 100 -Name "PB99976-P05" -Storage fourt -Vga "type=qxl,memory=128" -NetN $net -Efidisk0 "fourt:1,efitype=4m,pre-enrolled-keys=1" -Agent "1" -SataN $sata -IdeN $ide -Boot "order=sata1;sata0;ide2" -UsbN $usb

    Как видите, один из дисков, который я определил, импортирует существующий дисковый образ. Упомянул я это просто потому, что это часть скрипта, на которую ссывается сообщение об ошибке. Когда я пытаюсь запустить вышеуказанный скрипт, proxmox api возвращает следующую ошибку:

    Код:
    Only root can pass arbitrary filesystem paths. at /usr/share/perl5/PVE/Storage.pm line 561.

    Путь, на который ссылается ошибка, — это путь, который я передал свойству "import-from" при создании одного из дисков. Я считаю эту ошибку странной, потому что, как видите сами, api ключ, который я использую в моем скрипте (который я, конечно, замаскировал), был создан для аутентификации пользователя root. В качестве теста я попытался запустить вышеуказанный скрипт снова, но на этот раз я аутентифицировался на proxmox сервере, используя фактические учетные данные учетной записи root, и скрипт сработал отлично. Итак, похоже, что, с точки зрения разрешений, необходимых для "передачи произвольного пути к файловой системе" в proxmox api, аутентификация на proxmox сервере с помощью api ключа, сгенерированного пользователем root, не имеет прав пользователя root.
     
     
     
    mkoeppl
    Guest
    #2
    0
    01.04.2025 11:59:00
    Привет! Похоже, это известная ошибка/проблема, и для неё есть патч, который так и не применили.
     
     
     
    whiggs
    Guest
    #3
    0
    01.04.2025 14:07:00
    Спасибо за ответ. Хорошо. Ну, я рад, что команда Proxmox в курсе, что это баг, но не могли бы вы уточнить, что вы имеете в виду, когда говорите "есть патч, который так и не был применен"? Потому что когда я это читаю, я слышу: "есть патч, который решает проблему, но по причинам, которые, я уверен, чрезвычайно важны, никто не удосужился сделать его общедоступным". Это верно?
     
     
     
    mkoeppl
    Guest
    #4
    0
    01.04.2025 15:53:00
    Можно обойтись без прав root, переместив том в директорию импорта используемого хранилища. Затем можно ссылаться на том в `import-from` по его ID. Например: `Code: import-from=<storage>:100/vm-100-disk-0.qcow2`
     
     
     
    whiggs
    Guest
    #5
    0
    01.04.2025 16:59:00
    Это вообще не решает основную проблему, правда? И ты не ответил на мой вопрос. Если Proxmox собирается позиционироваться как корпоративный инструмент, то ожидается последовательность действий. К тому же, твоё решение не работает в моём конкретном случае. Посмотри на файл, указанный в свойстве "import-from". У файла расширение VHD, потому что образ был создан с помощью Microsoft Sysinternals Disk2vhd. Я думаю, что именно из-за типа файла Proxmox не распознаёт его как допустимый образ диска, и поэтому не позволяет мне сократить путь так, как ты указал. Обычно мне приходится конвертировать образ в формат, который Proxmox распознаёт. Посмотри, что происходит, когда я пытаюсь. Этот VHD находится в каталоге, где хранятся все мои ISO-файлы:
    {
    "lightbox_close": "Close",
    "lightbox_next": "Next",
    "lightbox_previous": "Previous",
    "lightbox_error": "The requested content cannot be loaded. Please try again later.",
    "lightbox_start_slideshow": "Start slideshow",
    "lightbox_stop_slideshow": "Stop slideshow",
    "lightbox_full_screen": "Full screen",
    "lightbox_thumbnails": "Thumbnails",
    "lightbox_download": "Download",
    "lightbox_share": "Share",
    "lightbox_zoom": "Zoom",
    "lightbox_new_window": "New window",
    "lightbox_toggle_sidebar": "Toggle sidebar"
    } Значит, VHD-файлы хранятся на "big" хранилище, верно? Но когда я пытаюсь указать объект так, как ты указал (я пробовал и import-from=big:iso/SERVER.VHD, и import-from=big:templates/iso/SERVER.VHD), я получаю ошибку "unable to parse directory volume name".
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

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