Выбор между реальным HDD и виртуальным (VDI, VMDK, и т.д.) для организации NAS. Какие плюсы и минусы?
=======================================================================================================

 Здравствуйте. Искал в интернете и на тостере, не нашёл.  

  

Обстановка следующая:  

Собираю домашний сервер, хочу развернуть всё необходимое в рамках виртуализации (proxmox). То есть, чтобы был ряд виртуальных машин со своей внутренней сетью (маршрутизатор будет тоже как виртуальная машина). Изначально планировал использовать 2-3 железки, чтобы одна была только как сетевое хранилище, вторая маршрутизатор, третья сервер виртуализации. В общем, что-то в этом роде. Пришла мысль разместить всё это в одной, но мощной железке, которая бы покрывала все задачи. По всем моим представлениям это выглядит практично.   

  

Не ясно только одно, если я разверну NAS в качестве виртуальной машины, а в роли хранилища будут виртуальные диски, насколько это будет надёжно, в случаях внезапной потери электричества. Я практически не сталкивался с виртуальными дисками и не представляю как они на это реагируют. С реальными всё более менее понятно. Конечно я планирую использовать ИБП, но всё-же этот вопрос не даёт мне покоя. У меня есть подозрения, что в такой ситуации, после внезапной потери электричества, файл виртуального диска попросту может перестать считываться.  

  

Прошу Вашей помощи уважаемые эксперты. Возможно кто-то сталкивался с таким вариантом реализации и может поделиться практическим опытом? Буду премного благодарен.  

  

P.S. Вариант установить дебиан, на него прокмокс и развернуть nas прямо на хостовой машине я рассматривал, но мне всё же хочется чтобы всё было на виртуалках. 

> Пришла мысль разместить всё это в одной, но мощной железке

  

Плохая мысль. Как человек, много лет державший сеть именно такой конфигурации (только что без nas) - скажу, что это плохая мысль. Вернее, это все хорошо до тех пор, пока ты сидишь дома. Когда ты **вне** дома и происходит пропадание питания, после чего виртуальный роутер встает в позу ротного пулемета - тебе приходится терпеливо обьяснять жене/ребенку/еще кому-то что нужно нажать на клавиатуре чтобы **это** заработало.  

Мне много раз приходилось это делать и однажды мне это надоело, я поставил микротик в качестве роутера. И теперь даже если с серваком что-то случается, то по крайней мере на его консоль через iKVM я всегда могу попасть.  

  

Роутер имеет смысл вынести в железку.   

NAS имеет смысл вынести в железку - она ведь для бэкапов, да? Мы же относимся к тем админам, которые уже их делают?  

Это стандартная схема построения сети небольшой конторы, многократно обкатанная. 

> насколько это будет надёжно, в случаях внезапной потери электричества.

Без разницы. То же самое что и с жесткими дисками.  

При внезапном отключении электричества в лучшем случае некоторые данные будут потеряны, в худшем слетит файловая система.  

  

>  Какие плюсы и минусы?

А это у вас надо спросить. Плюсы и минусы от ситуации и задач зависят. В некоторых случаях плюс может являться минусом.  

  

> но мне всё же хочется чтобы всё было на виртуалках.

Если хочется - делайте. Никто не запрещает. 

 Только жезезо - только хардкор!!!  

Имхо, это имеет смысл если делать совмещенную станцию виртуалки + файл-сервер. Основные данные я храню на железном рейде. Для этого я создал в proxmox ВМ с виртуальным жестким диском, а так же прокинул в нее pci-express lsi raid-контроллер 9211-8i на 4 диска. На этом железном контроллере средствами контроллера поднял RAID-10 для хранения файлов и организации шары. Еще 4 таких диска я подключил к контроллеру на материнке, и 2 из них пробросил в ВМ как устройство. Из этих 2х дисков я сдел RAID-1 для бэкапов средствами операционной системы. Так же настроил операционку на всякие резервные точки и бэкап по расписани с raid-10 на raid-1.  

  

из минусов решения - любая нештатная остановка ВМ не через shutdown вызывает на хардварном рейд-контроллере ребилд, даже если с питанием все хорошо. Здесь софтварный рейд железный заруливает в минуса в моем случае. Да и после переустановки proxmox я пробросил жесткие, развернул виртуалку из бэкапа и ОС определила софтварный рейд. Второй минус - гемор с отключемим ПК от ИБП, потому что это надо вешать на хост, т.е. линукс, а Debian там голый, да еще в моем случае усугубляется тем, что мне пришлось физически пробросить для нормальной работы звука физический и единственный usb-контроллер на матплате.   

  

ОС ставите на винтупльный жесткий и настраиваете бэкап отдельно через proxmox, файлы через ВМ на дублирующий софтварный рейд + настройте выгрузку в облако или на подключаемый время от времени внешний жесткий диск. Виртуальный жесткий диск очень медлененн для записи больших данных, по-этому только железо.  

  

И последнее, можно поставить zfs, refs - в принципе должно быть норм, если вы с этим работаете и умеете готовить. Можно даже установить облако, типа nextcloud, или проапгрейдить proxmox через nas os, можно подключить диски как папку и расшарить через хост proxmox, можно проапгрейдить debian и забить на proxmox в принципе. Вариантов масса.  

  

ссылки по теме  

<https://m.habr.com/ru/post/328048/>  

<https://m.habr.com/ru/post/437598/>  

  

ps для того что бы proxmox не бэкапил подключенные жеские диски в файле конфигурации нужно в строке с параметром проброса такого диска в конце строки добавить, после запятой, "backup=no" без кавычек. Ну или не писать это примечание и proxmox будет бэкапить не только жеский диск ВМ, но и пробрасываемые диски, которые пробрасываются через volume=/dev/disk/by-id/......... 

 Помимо проброса в виртуалку HBA вы можете и отдельный диск напрямую в нее пробросить 

 Уважаемые господа. Благодарю вас за развёрнутые ответы, вы дали мне пищу для ума, теперь буду думать как лучше поступить в моей ситуации на основе ваших предложений. Не вижу смысла дальше развивать тему, спорить, т.к. каждый из предложенных ответов имеет смысл. Вопрос закрыт.  

  

P.S. Собирать NAS всё-таки буду как отдельную железку, по следующим причинам и требованиям:  

1. Отдельный NAS даёт всё-таки больше возможностей и преимуществ (перечислять не буду, думаю и так ясно в чём);   

2. NAS будет работать 24/7 и использоваться как центральное хранилище, в том числе и для образов виртуальных машин. Вставлю pci-карту, кину 10гбитную оптику между NAS и сервером виртуализации, чтобы просадок не было;  

3. Поддерживать подачу питания при потере электричества на отдельный NAS можно дольше, чем на многоядерную кочегарку;  

4. В связи с этим ИБП будет 2 шт., т.к. серверу виртуализации достаточно 15-20 минут чтобы спокойно схлопнуться, NAS же мне кажется должен работать по дольше, мало ли, вдруг важное копирование или бэкап происходит;  

5. Имея отдельный NAS выходит меньше времени по тех. обслуживанию в долгосрочной перспективе при обновлении пакетов/дистрибутивов/разрешению зависимостей пакетов/и той же работе с дисками.  

  

В общем хранилище будет хранилищем, а центр управления/мониторинг/сервисы будут виртуализироваться.