Задать вопрос
  • Как пробросить HDD в LXC контейнер Proxmox?

    @linux-learner
    Инструкция как выдать права на запись для контейнера LXC:


    1. Создаем нового пользователя и даем ему определенные uid и gid.
    Например, создадим пользователя lxc_user с uid 1010 и группу lxc_group с gid 1001:

    groupadd -g 1001 lxc_group
    useradd -u 1010 -g 1001 lxc_user


    2. Запускаем следующие команды, чтобы проверить, что пользователь и группа создалась:
    Для пользователя:
    cat /etc/passwd
    Для группы:
    cat /etc/group

    3. Открываем файл /etc/pve/lxc/ххх.conf
    Вместо ххх прописываем id контейнера, например,
    nano /etc/pve/lxc/100.conf

    4. В конце файла прописываем код (если использовали другие uid и gid при создании пользователя / группы, то меняйте их на свои значения)

    lxc.idmap = u 0 100000 1010
    lxc.idmap = g 0 100000 1001
    lxc.idmap = u 1010 1010 1
    lxc.idmap = g 1001 1001 1
    # Следующие 2 строчки надо прописывать по определенной формуле:
    #u UID+1 100000+UID+1 65535-UID То есть для uid 1010 будет 1010+1 100000+1010+1 65535-1010
    #g GID+1 100000+GID+1 65535-GID То есть для gid 1001 будет 1001+1 100000+1001+1 65535-1001
    lxc.idmap = u 1011 101011 64525
    lxc.idmap = g 1002 101002 64534


    5. Открываем /etc/subuid
    nano /etc/subuid

    В конце файла добавляем: (если использовали другой uid, то меняем на свой)
    root:1010:1

    Сохраняем файл и выходим.

    6. Открываем /etc/subgid
    nano /etc/subgid

    В конце файла добавляем: (если использовали другой gid, то меняем на свой)
    root:1001:1

    Сохраняем файл и выходим.

    7. Меняем владельца примонтированной директории хоста. Если брать в пример директорию из поста выше, то получится:
    chown -R 1010:1001 /mnt/pve/moydisk/films

    Вместо 1010 подставляем свой uid
    Вместо 1001 подставляем свой gid
    Вместо /mnt/pve/moydisk/films подставляем свою примонтированную директорию на хосте

    8. Проверяем владельца папки films. Переходим в директорию перед films и запускаем команду ls -la
    cd /mnt/pve/moydisk
    ls -la


    В выводе команды для директории films должен отобразиться владелец lxc_user lxc_group

    9. Запускаем lxc контейнер. Если все сделали четко по инструкции, то должно заработать.

    Полезные ссылки:
    1. https://www.geeksforgeeks.org/linux-unix/useradd-c...
    2. https://pve.proxmox.com/wiki/Unprivileged_LXC_cont...
    3. https://obsidian.evanmingliu.com/Proxmox/LXC/Unpri...
    Написано