2016-01-17 6 views
0

Я использую следующую команду шашлычник, чтобы создать папку на/мнтне удалось создать папку/мнт по рецепту шеф-

directory '/mnt/node/deploy' do 
    owner 'ubuntu' 
    group 'ubuntu' 
    mode '0755' 
    recursive true 
    action :create 
end 

Это часть рецепта, который вызывается с помощью пакера для создания AWS AMI. ubuntu - это пользователь, которого я использую для развертывания моего кода на подготовленной машине. Когда я запускаю экземпляр EC2 с использованием AMI, эта папка не создается на компьютере. В чем может быть проблема? Я не вижу ошибок при создании AMI.

Обновление -1

Это журналы. Я пробовал использовать root.

`amazon-ebs: * directory[/mnt/node/deploy] action create` 
`amazon-ebs: - create new directory /mnt/node/deploy` 
`amazon-ebs: - change mode from '' to '0755'` 
`amazon-ebs: - change owner from '' to 'root'` 
`amazon-ebs: - change group from '' to 'root'` 

Я вижу, что EC2 монтирует эфемерное хранилище на/mnt. Я хочу создать эти папки на эфемерном хранилище. I unmounted/mnt, но не видел там папок.

+0

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

+0

Я подозреваю, что это имеет какое-то отношение к эфемерному хранению. Кажется, что EC2 устанавливает эфемерное хранилище на/mnt. – mihirg

+0

Попробуйте umounting '/ mnt' и проверьте, существует ли каталог. – zuazo

ответ

1

Упаковщик запускает шеф-повар перед созданием изображения. Итак, если я вас правильно понимаю:

  1. Шеф-повар создает каталог на эфемерном хранилище экземпляра.
  2. Упаковщик создает AMI.
  3. Вы запускаете AMI, и каталог не существует в эфемерном хранилище.

AFAIK - это ожидаемое поведение. Каталог создается в эфемерном разделе, и этот вид разделов не ожидается.

Подводя итог, при создании изображения AMI AWS он не включает в себя эфемерное хранилище. Только объемы EBS. Эфемерные разделы всегда пусты при запуске. Если вы хотите сохранить этот каталог, он должен находиться в разделе EBS.

Если вы все еще хотите использовать каталог /mnt, вы можете избежать установки эфемерный хранения с ami_block_device_mappings вариант:

"ami_block_device_mappings": [ 
    { 
     "device_name": "/dev/sdb", 
     "no_device": true 
    } 
    ], 

И то же самое для launch_block_device_mappings

Другим решением может быть, чтобы запустить ваш Шеф-поваренная книга снова во вновь созданном экземпляре.

+0

/mnt - это место, где загружается эфемерное хранилище. Процесс создания AMI закрывает экземпляр, который очищает эфемерное хранилище. – mihirg

0

amazon-ebs этого имя упаковщик строитель:

amazon-ebs - Создание EBS поддерживаемых МАСС путем запуска источника AMI и повторно упаковок его в новом ОЯТ после инициализации. Если есть сомнения, используйте этот строитель, с которого проще всего начать работу.

Он управляет всей машиной, поддерживаемой EBS, чтобы впоследствии преобразовать объем EBS в AMI.

Это не связано с шеф-поваром.