Заканчиваем погружение в тему организации подсистемы хранения ваших серверов обзором основных вариантов, которые сейчас можно встретить.
1. Данные хранятся на дисках сервера.
Диски могут быть подключены к дисковой шине как отдельный диск, либо собраны через RAID-контроллер сервера и представлены как логический диск.
Операционная система видит у себя локальное блочное устройство и может с ним работать привычным образом по дисковой шине.
2. Данные хранятся на СХД, серверы подключены к СХД напрямую по блочному протоколу (FibreChannel, iSCSI).
Диски на СХД объединяются в пулы, в пуле создается отдельный логический том, который показывается серверу.
Сетевой адаптер, через который сервер поключен к СХД, показывает дисковой шине полученный логический том.
Операционная система видит у себя локальное блочное устройство и может с ним работать привычным образом по дисковой шине. Операционная система отправляет привычные команды на дисковую шину, сетевой адаптер отправляет команды на СХД.
3. Данные хранятся на СХД, серверы подключены к СХД через сеть хранения данных (SAN) по блочному протоколу (FibreChannel, iSCSI).
Диски на СХД объединяются в пулы, в пуле создается отдельный логический том, который показывается сети хранения данных.
Сетевой адаптер, через который сервер поключен к сети хранения данных, показывает дисковой шине полученный логический том.
Операционная система видит у себя локальное блочное устройство и может с ним работать привычным образом по дисковой шине. Операционная система отправляет привычные команды на дисковую шину, сетевой адаптер отправляет команды в сеть хранения данных, откуда их получает СХД.
Так в чем же магия?
А магия в тех самых “привычных командах”. Все операционные системы работают со своими дисками с помощью SCSI-команд.
В случае обычного сервера по дисковой шине идёт отправка такой команды, в которой дана инструкция - прочитать какой-то блок данных или записать его.
А сетевые блочные протоколы по сути просто берут эту SCSI-команду, кладут её в тело фрейма/пакета FiberChannel или IP, а на получателе вытаскивают эту команду из фрейма/пакета и работают с ней по дисковой шине.
В итоге сервер всегда видит локальный жесткий диск, но находиться он может как в этом же сервере, так и за километры от него.
Так что будьте бдительны, не потеряйте ваши диски! 😉
—-
Если остались вопросы по дисковой части - буду рад ответить, пишите в комменты, или в личку.