Я хочу поделиться каталогом из контейнера OpenVZ с другим контейнером, как я могу это сделать?
OpenVZ отлично подходит для предоставления общего доступа к каталогам без необходимости использования Samba или NFS.
Чтобы увидеть, как это работает, выполните привязку монтирования к root (не приватному), когда контейнер запущен:
mount --bind /vz/private/109/common-stuff /vz/root/108/common-stuff
Чтобы сделать общий ресурс постоянным после перезагрузки контейнера:
chmod +x /etc/vz/conf/108.mount
#!/bin/bash
source /etc/vz/vz.conf
source ${VE_CONFFILE}
mount -n --bind /vz/private/109/common-stuff /vz/root/108/common-stuff
на странице Александра Левчука приведен следующий сценарий
CTID=777
echo '#!/bin/bash
. /etc/vz/vz.conf
. ${VE_CONFFILE}
SRC=/mnt/disk
DST=/mnt/disk
if [ ! -e ${VE_ROOT}${DST} ]; then mkdir -p ${VE_ROOT}${DST}; fi
mount -n -t simfs ${SRC} ${VE_ROOT}${DST} -o ${SRC}
' > /etc/vz/conf/${CTID}.mount
chmod +x /etc/vz/conf/${CTID}.mount
(http://wiki.openvz.org/Bind_mounts)
так он отличается от mount --bind в своем решении. Я проверил приведенный выше сценарий, и он отлично работает.
из того, что я видел, «SIMFS похожа на отдельное дисковое пространство, отведенное для виртуальных контейнеров. Оно настроено для использования на машине и предотвращает сбой одного виртуального сервера контейнеров в других».
Так что это должно быть лучше по соображениям безопасности (плюс тот факт, что это есть в официальной документации openvz). Однако было бы интересно оценить стоимость этой изоляции.