Как смонтировать/tmp в/mnt на EC2?

На сегодняшний день Dreamhost не разрешает устройство хранения данных в их хостинг-аккаунтах, таким образом, что Вы упоминаете здесь. Взгляните на их политику в отношении того, что "неограниченный" означает, в соответствии с заголовком, Чему не позволяют войти "Неограниченное"?.

У меня нет опыта с Mozy (или никакие другие в этом отношении), но $10 / месяц для устройства хранения данных и автоматизации не кажется слишком плохим из соглашения мне...

10
задан 15 September 2012 в 00:39
3 ответа

Есть пара проблем с первоначальным предложением, которое вы перечислили, хотя кажется, что оно движется в правильном направлении:

  1. В целях безопасности команда mkdir должна создать каталог с установленным в режиме липким битом:

     mkdir -m 1777 / mnt / tmp
    
  2. -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 ) исчезнет.

13
ответ дан 2 December 2019 в 22:00

Более надежный подход, поскольку вы используете 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 - последнего в последовательности загрузки - они скроются и запутают серверы.

13
ответ дан 2 December 2019 в 22:00

Идея использования сценария 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 без него, так как вы бы скрывали там текущие файлы).

1
ответ дан 2 December 2019 в 22:00

Теги

Похожие вопросы