Настройка
Новости
Оплата
Доставка
Информация
Контакты
Загрузки
Форум
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Каталог
    • 1U
      1U
    • 2U
      2U
    • 3U
      3U
    • 4U
      4U
    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 Backup Server
    Поддержка ARM

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Поддержка ARM, Proxmox Backup Server
     
    pittpc
    Guest
    #1
    0
    12.07.2020 07:11:00
    Это просто фантастика! Именно этого многие ждали от Proxmox — огромный кусок паззла, который серьёзно подпортит настроение другим закрытым гипервизорам! Вперёд, команда Proxmox!! Хотел спросить, есть ли планы по поддержке ARM для Proxmox Backup? Понимаю, для PVE это не слишком актуально, а вот для PBS это кажется отличным решением. Существует много одноплатных компьютеров и энергоэффективных ARM-устройств, которые отлично подошли бы в роли PBS-серверов. Продолжайте в том же духе!
     
     
     
    albebert
    Guest
    #2
    0
    16.08.2020 23:42:00
    Спасибо за проделанную работу, но, похоже, не работает на pi2 (raspbian x32).

    Код: Компиляция proxmox-fuse v0.1.0 (git://git.proxmox.com/git/proxmox-fuse.git#0066e65e)
    error[E0308]: несовпадение типов
      --> /root/.cargo/git/checkouts/proxmox-fuse-b688e97eb72d189d/0066e65/src/requests.rs:361:20  
       |  
    361 |             inode: stat.st_ino,  
       |                    ^^^^^^^^^^^ ожидался `u64`, найден `u32`  

    error[E0308]: несовпадение типов
      --> /root/.cargo/git/checkouts/proxmox-fuse-b688e97eb72d189d/0066e65/src/requests.rs:596:54  
       |  
    596 |             Some(SetTime::from_c(self.stat.st_atime, self.stat.st_atime_nsec))  
       |                                                      ^^^^^^^^^^^^^^^^^^^^^^^  
       |                                                      |  
       |                                                      ожидался `i64`, найден `i32`  
       |                                                      подсказка: можно преобразовать `i32` в `i64`: `self.stat.st_atime_nsec.into()`  

    error[E0308]: несовпадение типов
      --> /root/.cargo/git/checkouts/proxmox-fuse-b688e97eb72d189d/0066e65/src/requests.rs:607:54  
       |  
    607 |             Some(SetTime::from_c(self.stat.st_mtime, self.stat.st_mtime_nsec))  
       |                                                      ^^^^^^^^^^^^^^^^^^^^^^^  
       |                                                      |  
       |                                                      ожидался `i64`, найден `i32`  
       |                                                      подсказка: можно преобразовать `i32` в `i64`: `self.stat.st_mtime_nsec.into()`  

    error[E0308]: несовпадение типов
      --> /root/.cargo/git/checkouts/proxmox-fuse-b688e97eb72d189d/0066e65/src/requests.rs:618:49  
       |  
    618 |             Some(c_duration(self.stat.st_ctime, self.stat.st_ctime_nsec))  
       |                                                 ^^^^^^^^^^^^^^^^^^^^^^^  
       |                                                 |  
       |                                                 ожидался `i64`, найден `i32`  
       |                                                 подсказка: можно преобразовать `i32` в `i64`: `self.stat.st_ctime_nsec.into()`  

    error[E0308]: несовпадение типов
      --> /root/.cargo/git/checkouts/proxmox-fuse-b688e97eb72d189d/0066e65/src/session.rs:113:17  
       |  
    113 |                 offset,  
       |                 ^^^^^^  
       |                 |  
       |                 ожидался `i64`, найден `i32`  
       |                 подсказка: можно преобразовать `i32` в `i64`: `offset.into()`  

    error[E0308]: несовпадение типов
      --> /root/.cargo/git/checkouts/proxmox-fuse-b688e97eb72d189d/0066e65/src/session.rs:132:17  
       |  
    132 |                 offset,  
       |                 ^^^^^^  
       |                 |  
       |                 ожидался `i64`, найден `i32`  
       |                 подсказка: можно преобразовать `i32` в `i64`: `offset.into()`  

    ошибка: прерывание из-за 6 предыдущих ошибок

    Для подробностей об этой ошибке попробуйте `rustc --explain E0308`.
    ошибка: не удалось скомпилировать `proxmox-fuse`.

    Чтобы узнать больше, запустите команду с ключом --verbose.
    warning: сборка провалена, ждем окончания других задач...
    ошибка: сборка провалена

    Кто-нибудь знает, как это исправить?
     
     
     
    SirUffsALot
    Guest
    #3
    0
    17.08.2020 08:05:00
    Вам нужна 64-битная операционная система и Raspberry Pi с поддержкой 64 бит (не ниже Raspberry Pi 2 V1.2). Я использую Raspberry Pi OS (64 бит) в бета-версии — у меня она отлично работает, за исключением отсутствия заголовков ядра, из-за чего немного сложнее установить wireguard. Но я с этим тоже справился.
     
     
     
    albebert
    Guest
    #4
    0
    17.08.2020 08:33:00
    Спасибо за ответ, но это для меня не очень хорошие новости :/
     
     
     
    mjcc30
    Guest
    #5
    0
    09.09.2020 12:59:00
    Привет, спасибо! Я тоже успешно скомпилировал это:

    версии raspios lite: https://downloads.raspberrypi.org/raspios_lite_arm64/images/  
    Raspberry Pi Imager: https://www.raspberrypi.org/downloads/

    Код:

    sudo -s  
    apt update && apt upgrade -y  
    curl https://sh.rustup.rs -sSf | sh  
    source $HOME/.cargo/env  
    rustup toolchain install 1.45.2  
    rustup default 1.45.2  
    apt install -y git cmake libuuid1 uuid-dev libclang-dev llvm gcc g++ clang-7 libacl1-dev libpam-dev libfuse3-dev python-docutils python-sphinx libudev-dev libssl-dev  
    cd /usr/src  
    git clone git://git.proxmox.com/git/proxmox-backup.git  
    git clone git://git.proxmox.com/git/proxmox.git  
    git clone git://git.proxmox.com/git/proxmox-fuse.git  
    git clone git://git.proxmox.com/git/pxar.git  
    git clone https://aur.archlinux.org/proxmox-backup-client.git  
    cp proxmox-backup-client/0002-remove-apt-dependency.patch proxmox-backup  
    cp proxmox-backup-client/0001-adapt-cargo-toml-and-remove-systemd-linking.patch proxmox-backup  
    cd /usr/src/proxmox-backup  
    nano Cargo.toml  

    // изменить на следующее:  
    // proxmox = { path = "../proxmox/proxmox", features = [ "sortable-macro", "api-ma$" ] }
    // proxmox-fuse = { path = "../proxmox-fuse" }  
    // pxar = { path = "../pxar", features = [ "tokio-io", "futures-io" ] }

    patch --forward --strip=1 --input=0001-adapt-cargo-toml-and-remove-systemd-linking.patch  
    patch --forward --strip=1 --input=0002-remove-apt-dependency.patch  
    cargo build --release --bin proxmox-backup-client --bin pxar --bin dump-catalog-shell-cli  
    cd docs  
    BUILD_MODE=release make proxmox-backup-client.1 pxar.1  
    cd ..  
    cp target/release/proxmox-backup-client /usr/local/bin/proxmox-backup-client  
    cp target/release/pxar /usr/local/bin/pxar  
    cp docs/proxmox-backup-client.1 /usr/local/share/man/proxmox-backup-client.1  
    cp docs/pxar.1 /usr/local/share/man/pxar.1  
    cp debian/proxmox-backup-client.bc /usr/share/bash-completion/completions/proxmox-backup-client  
    cp debian/pxar.bc /usr/share/bash-completion/completions/pxar
     
     
     
    mjcc30
    Guest
    #6
    0
    09.09.2020 13:30:00
    Есть способ собрать PVE-инсталлятор на arm64? Я пробовал вот это: https://github.com/kosmonavtika/docker-build-pve. Установил Docker согласно инструкции: https://docs.docker.com/engine/install/debian/.

    Код:

    apt-get update  
    apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common  
    curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -  
    apt-key fingerprint 0EBFCD88  
    add-apt-repository "deb [arch=arm64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"  
    apt-get update  
    apt-get install -y docker-ce docker-ce-cli containerd.io  
    shutdown -r now

    Далее:

    Код:  
    sudo -s  
    cd /usr/src  
    git clone https://github.com/kosmonavtika/docker-build-pve  
    cd docker-build-pve  
    ./build.sh

    Нужно добавить некоторые зависимости. Код:  
    nano Dockerfile и добавить libtest-mockmodule-perl в # pve-common

    Но тут проблема с зависимостями:  
    # pve-common : libproxmox-acme-perl  
    # libpve-http-server-perl : libpve-common-perl  
    # pve-qemu : libproxmox-backup-qemu0-dev  
    # pve-cluster : libpve-access-control libpve-common-perl pve-doc-generator  
    # pve-access-control (2/2) : libpve-common-perl libpve-cluster-perl pve-cluster pve-doc-generator  
    # librados2-perl : libpve-access-control  
    # pve-storage : libpve-common-perl librados2-perl pve-cluster  
    # pve-guest-common : libpve-cluster-perl libpve-common-perl libpve-storage-perl pve-cluster  
    # pve-ha-manager : libpve-access-control libpve-cluster-perl libpve-common-perl pve-cluster pve-doc-generator  
    # lxc : pve-libseccomp2.4-dev  
    # pve-container : libpve-cluster-perl libpve-common-perl libpve-guest-common-perl libpve-storage-perl lxc lxc-pve pve-cluster pve-doc-generator pve-firewall  
    # qemu-server : libpve-cluster-perl libpve-common-perl libpve-guest-common-perl libpve-storage-perl pve-cluster pve-doc-generator pve-firewall pve-qemu-kvm  
    # pve-manager : libproxmox-acme-perl libpve-access-control libpve-cluster-api-perl libpve-cluster-perl libpve-common-perl libpve-guest-common-perl libpve-http-server-perl libpve-storage-perl pve-cluster pve-container pve-doc-generator qemu-server  
    # pve-kernel : libpve-common-perl  
    # pve-installer : libpve-common-perl
     
     
     
    ayufan
    Guest
    #7
    0
    19.12.2020 13:15:00
    Можешь попробовать это. Я использую на своём arm64 NAS. https://github.com/ayufan/pve-backup-server-dockerfiles
     
     
     
    michabbs
    Guest
    #8
    0
    30.12.2020 00:25:00
    Пытаюсь собрать под arm64 (в контейнере lxd, с образом debian/10). На этом шаге происходит ошибка:  
    Код: error: не удалось выполнить пользовательскую команду сборки для `libudev-sys v0.1.4`

    Причина:  
    процесс завершился с ошибкой: `/usr/src/proxmox-backup/target/release/build/libudev-sys-3d2ad5a4e37df7ac/build-script-build` (код выхода: 101)  
    --- stdout  
    cargo:rerun-if-env-changed=LIBUDEV_NO_PKG_CONFIG  
    cargo:rerun-if-env-changed=PKG_CONFIG  
    cargo:rerun-if-env-changed=LIBUDEV_STATIC  
    cargo:rerun-if-env-changed=LIBUDEV_DYNAMIC  
    cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC  
    cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC  
    cargo:rerun-if-env-changed=PKG_CONFIG_PATH_aarch64-unknown-linux-gnu  
    cargo:rerun-if-env-changed=PKG_CONFIG_PATH_aarch64_unknown_linux_gnu  
    cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH  
    cargo:rerun-if-env-changed=PKG_CONFIG_PATH  
    cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_aarch64-unknown-linux-gnu  
    cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_aarch64_unknown_linux_gnu  
    cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR  
    cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR  
    cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_aarch64-unknown-linux-gnu  
    cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_aarch64_unknown_linux_gnu  
    cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR  
    cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR

    --- stderr  
    поток 'main' упал с ошибкой panic: вызван `Result::unwrap()` на значении `Err`: "Не удалось выполнить `\"pkg-config\" \"--libs\" \"--cflags\" \"libudev\"`: Нет такого файла или каталога (os error 2)", /root/.cargo/registry/src/github.com-1ecc6299db9ec823/libudev-sys-0.1.4/build.rs:38:5  
    подсказка: запустите с переменной окружения `RUST_BACKTRACE=1`, чтобы увидеть трассировку стека

    Есть идеи?
     
     
     
    fabian
    Guest
    #9
    0
    30.12.2020 08:50:00
    Установите пакет для разработчиков этой библиотеки ( libudev-dev ).
     
     
     
    michabbs
    Guest
    #10
    0
    30.12.2020 09:43:00
    Apt говорит, что уже установлено. :-(
     
     
     
    fabian
    Guest
    #11
    0
    30.12.2020 09:57:00
    Ах, неправильно прочитал ошибку. Тебе ещё нужно установить pkg-config.
     
     
     
    michabbs
    Guest
    #12
    0
    30.12.2020 16:18:00
    Спасибо. Это продвинулось дальше, но... сейчас при компиляции proxmox-backup море ошибок... :-(

    Код: Компиляция proxmox-backup v1.0.6 (/usr/src/proxmox-backup)

    error: дополнительные свойства не разрешены для внешнего типа  
      --> src/api2/tape/media.rs:239:17  
       |  
    239 |                 flatten: true,  
       |                 ^^^^^^^

    error[E0432]: неразрешённый импорт `proxmox::api::ParameterSchema`
     --> src/server/rest.rs:29:5  
      |  
    29 |     ParameterSchema,  
      |     ^^^^^^^^^^^^^^^ в `api` нет `ParameterSchema`

    error[E0432]: неразрешённый импорт `proxmox::api::schema::ObjectSchemaType`
     --> src/server/rest.rs:36:5  
      |  
    36 |     ObjectSchemaType,  
      |     ^^^^^^^^^^^^^^^^  
      |     |  
      |     в `api::schema` нет `ObjectSchemaType`  
      |     подсказка: в модуле есть похожее имя: `ObjectSchema`

    error[E0432]: неразрешённый импорт `proxmox::tools::fd::BorrowedFd`
     --> src/pxar/dir_stack.rs:11:5  
      |  
    11 | use proxmox::tools::fd::BorrowedFd;  
      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ в `tools::fd` нет `BorrowedFd`

    error[E0432]: неразрешённый импорт `proxmox::api::router::ReturnType`
     --> src/api2/admin/datastore.rs:18:28  
      |  
    18 | use proxmox::api::router::{ReturnType, SubdirMap};  
      |                            ^^^^^^^^^^ в `api::router` нет `ReturnType`

    error[E0432]: неразрешённый импорт `proxmox::tools::future`
     --> src/client/http_client.rs:21:12  
      |  
    21 |     tools::future::TimeoutFutureExt,  
      |            ^^^^^^ не найден `future` в `tools`

    error[E0425]: не найдено значение `API_METHOD_LIST_CONTENT` в этой области видимости
      --> src/api2/tape/media.rs:333:19  
       |  
    56  | pub async fn list_media(pool: Option<String>) -> Result<Vec<MediaListEntry>, Error> {  
       | --------- тут есть константа с похожим именем `API_METHOD_LIST_MEDIA`  
    ...  
    333 |             .get(&API_METHOD_LIST_CONTENT)  
       |                   ^^^^^^^^^^^^^^^^^^^^^^^ подсказка: есть константа с похожим именем: `API_METHOD_LIST_MEDIA`

    error[E0599]: нет метода `or_timeout_err` у структуры `hyper::client::ResponseFuture` в текущей области
      --> src/client/http_client.rs:719:14  
       |  
    719 |             .or_timeout_err(HTTP_TIMEOUT, format_err!("http request timed out"))  
       |              ^^^^^^^^^^^^^^ метода нет у `hyper::client::ResponseFuture`

    error[E0599]: нет метода `or_timeout_err` у структуры `hyper::client::ResponseFuture` в текущей области
      --> src/client/http_client.rs:637:14  
       |  
    637 |             .or_timeout_err(HTTP_TIMEOUT, format_err!("http upgrade request timed out"))  
       |              ^^^^^^^^^^^^^^ метода нет у `hyper::client::ResponseFuture`

    error[E0599]: нет метода `or_timeout_err` у структуры `hyper::client::ResponseFuture` в текущей области
      --> src/client/http_client.rs:567:14  
       |  
    567 |             .or_timeout_err(HTTP_TIMEOUT, format_err!("http download request timed out"))  
       |              ^^^^^^^^^^^^^^ метода нет у `hyper::client::ResponseFuture`

    error[E0599]: нет метода `into_raw_fd` для типа `i32` в текущей области
     --> src/tools/logrotate.rs:52:52  
      |  
    52 |         let target = unsafe { File::from_raw_fd(fd.into_raw_fd()) };  
      |                                                    ^^^^^^^^^^^ метода нет у `i32`

    error[E0599]: нет метода `skip_to_end` у структуры `std::boxed::Box<dyn tape::tape_read::TapeRead>` в текущей области
      --> src/tape/drive/mod.rs:112:23  
       |  
    112 |             if reader.skip_to_end()? != 0 {  
       |                       ^^^^^^^^^^^ метода нет у `std::boxed::Box<dyn tape::tape_read::TapeRead>`

    error[E0599]: нет метода `skip_to_end` у структуры `std::boxed::Box<dyn tape::tape_read::TapeRead>` в текущей области
      --> src/tape/drive/mod.rs:135:19  
       |  
    135 |         if reader.skip_to_end()? != 0 {  
       |                   ^^^^^^^^^^^ метода нет у `std::boxed::Box<dyn tape::tape_read::TapeRead>`

    error[E0599]: нет метода `read_exact_or_eof` у структуры `std::io::BufReader<&mut std::fs::File>` в текущей области
      --> src/tape/media_catalog.rs:560:28  
       |  
    560 |                 match file.read_exact_or_eof(&mut magic) {  
       |                            ^^^^^^^^^^^^^^^^^ метода нет у `std::io::BufReader<&mut std::fs::File>`

    error[E0599]: нет метода `read_exact_or_eof` у структуры `std::io::BufReader<&mut std::fs::File>` в текущей области
      --> src/tape/media_catalog.rs:573:24  
       |  
    573 |             match file.read_exact_or_eof(&mut entry_type) {  
       |                        ^^^^^^^^^^^^^^^^^ метода нет у `std::io::BufReader<&mut std::fs::File>`

    error[E0599]: нет метода `read_exact_or_eof` у параметра типа `R` в текущей области
      --> src/tape/chunk_archive.rs:179:27  
       |  
    179 |         match self.reader.read_exact_or_eof(data) {  
       |                           ^^^^^^^^^^^^^^^^^ метода нет у `R`

    warning: неиспользуемый импорт: `IntoRawFd`  
    --> src/tools/logrotate.rs:3:36  
     |  
    3 | use std::os::unix::io::{FromRawFd, IntoRawFd};  
     |                                    ^^^^^^^^^  
     |  
     = примечание: `#[warn(unused_imports)]` включён по умолчанию

    warning: неиспользуемый импорт: `AsRawFd`  
    --> src/pxar/dir_stack.rs:2:25  
     |  
    2 | use std::os::unix::io::{AsRawFd, RawFd};  
     |                         ^^^^^^^

    error: прерывание из-за 16 предыдущих ошибок; выведено 2 предупреждения

    Некоторые ошибки имеют подробные объяснения: E0425, E0432, E0599.  
    Для дополнительных сведений об ошибке попробуйте `rustc --explain E0425`.  
    error: компиляция `proxmox-backup` не удалась.

    Чтобы узнать больше, запустите команду ещё раз с ключом --verbose.
     
     
     
    nordeep
    Guest
    #13
    0
    13.01.2021 08:29:00
    +1 Было бы здорово иметь возможность создавать резервные копии устройств на базе armv7 (Raspberry Pi, Orange Pi и др.) (32-бит) в PBS.
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

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