Мой клиент заставляет меня работать над проектом, в котором я немного растерялся с точки зрения любого безошибочного ответа.
Он использует Amazon EC2 для размещения своих серверов, а именно, он использует спотовые запросы. Если вы уже использовали спотовые запросы EC2, вы знаете, что после закрытия экземпляра его данные будут потеряны.
Чтобы решить эту проблему, он хочет подключить и смонтировать внешний том EBS. Он предоставил список каталогов, которые он хочет сохранить. Он настаивает, чтобы я нашел способ сделать это, но я почти уверен, что это невозможно.
Мне удалось переместить несколько корневых каталогов без каких-либо побочных эффектов (я переместил их на смонтированный EBS и создал символические ссылки, указывающие на правильные местоположения). / home легко переместить, как было / var, / usr и еще пару. Однако он настаивает на том, что / bin, / sbin, / lib, / lib64 и / etc должны находиться на томе EBS.
Мне кажется очевидным, что это не сработает, поскольку том EBS должен быть смонтирован в какой-то момент. Насколько я знаю, самый ранний момент, когда я могу его смонтировать, - это / etc / fstab. Если вы храните / etc на внешнем диске, как вы собираетесь его монтировать? Если вы не можете его смонтировать, как вы собираетесь получить доступ к / etc / fstab .... это парадокс.
Итак, я прав в своих предположениях? Будь я или нет, пожалуйста, помогите мне, предоставив достаточно информации, чтобы объяснить ему ситуацию. Моя интуиция немедленно кричит «НЕТ» этой идее, но, честно говоря, у меня нет единой, солидной аргументации, чтобы поддержать себя.
Спасибо!
Дополнительная информация:
Он говорит, что хотел бы, чтобы я нашел способ сохранить все необходимые файлы на корневом диске, одновременно сохраняя что-либо еще на томе EBS.
Пожалуйста, скажи мне, что я не сумасшедший, и что это просто безумие.
Да, это немного безумно и, по крайней мере, не нужно. Похоже, клиент не понимает, как работают AMI. Каталоги / bin, / sbin и т. Д. Не будут «потеряны», если они запекаются в AMI, с которым вы запускаете.
Правильный способ сделать это будет:
Ваше приложение, конечно, должно быть в состоянии справиться с тем фактом, что оно может быть прервано без уведомления в любое время, поэтому оно должно иметь какие-то контрольные точки транзакций, чтобы оно знало, что было успешно записано в постоянный раздел EBS.