На сегодняшний день Dreamhost не разрешает устройство хранения данных в их хостинг-аккаунтах, таким образом, что Вы упоминаете здесь. Взгляните на их политику в отношении того, что "неограниченный" означает, в соответствии с заголовком, Чему не позволяют войти "Неограниченное"?.
У меня нет опыта с Mozy (или никакие другие в этом отношении), но $10 / месяц для устройства хранения данных и автоматизации не кажется слишком плохим из соглашения мне...
Есть пара проблем с первоначальным предложением, которое вы перечислили, хотя кажется, что оно движется в правильном направлении:
В целях безопасности команда mkdir
должна создать каталог с установленным в режиме липким битом:
mkdir -m 1777 / mnt / tmp
-o nobootwait
не кажется необходимым, поскольку он не сохраняется в / mnt / fstab
.
Я бы рекомендовал попробовать это в ] /etc/rc.local
:
test -d /mnt/tmp || mkdir -m 1777 /mnt/tmp
mount --bind /mnt/tmp /tmp
Любая попытка установить монтирование привязки в / etc / fstab
приведет к проблемам при остановке / запуске экземпляра или при создании AMI и запустите новый экземпляр, поскольку / mnt является временным хранилищем, и все содержимое (включая каталог / mnt / tmp
) исчезнет.
Более надежный подход, поскольку вы используете Ubuntu, было бы поместить предложение Эрика Хаммонда в сценарий Upstart и выполнить привязку немедленно после монтирования / mnt
:
# File /etc/init/mounted-mnt.conf
# mounted-mnt - Binds /tmp to /mnt/tmp
description "Binds /tmp to /mnt/tmp"
start on mounted MOUNTPOINT=/mnt
task
script
test -d /mnt/tmp || mkdir -m 1777 /mnt/tmp
mount --bind /mnt/tmp /tmp
end script
Некоторые серверы, как Apache / Passenger, может создавать важные временные файлы в / tmp
. После запуска rc.local
- последнего в последовательности загрузки - они скроются и запутают серверы.
Идея использования сценария Upstart, предложенная Ромуло Секконом , прекрасна. Однако вы можете не захотеть скрывать магию внутри непонятного сценария. Вполне нормально добавить монтирование внутри fstab, например
LABEL=cloudimg-rootfs / ext4 defaults 0 0
# auto mount ephemeral storage (if any)
# init contents in /etc/init/mounted-local*.conf
/dev/xvdb /mnt/local1 auto defaults,nofail,nobootwait,comment=cloudconfig 0 2
/dev/xvdc /mnt/local2 auto defaults,nofail,nobootwait,comment=cloudconfig 0 2
/dev/xvdd /mnt/local3 auto defaults,nofail,nobootwait,comment=cloudconfig 0 2
/dev/xvde /mnt/local4 auto defaults,nofail,nobootwait,comment=cloudconfig 0 2
# bind /tmp to /mnt/local1, might still be on / if no ephemeral storage
/mnt/local1 /tmp none bind
И это сценарий Upstart:
# File /etc/init/mounted-local1.conf
# mounted-local1 - init ephemeral storage in /mnt/local1
description "Initializes ephemeral storage in /mnt/local1"
start on mounted MOUNTPOINT=/mnt/local1
# provide defult, see /etc/init/mounted-tmp.conf for details
env MOUNTPOINT=/mnt/local1
task
script
# fix permissions if needed
test -d $MOUNTPOINT && chmod 1777 $MOUNTPOINT
# log to /var/log/upstart/mounted-local1.log
#echo "initialized $MOUNTPOINT"
end script
Таким образом, вы можете создать любую структуру каталогов, а не на временном хранилище.
Все, что осталось, это mkdir -p /mnt/local{1..4}
и перезапуск (я бы не монтировал / tmp без него, так как вы бы скрывали там текущие файлы).