LUN (Logical Unit Number) — это идентификатор логического устройства хранения данных, которое система хранения предоставляет серверу для использования как отдельный блочный накопитель. Термин чаще всего применяется в SAN (Storage Area Network) и других системах блочного хранения данных.
Словом LUN часто называют не только сам номер, но и логический том или ресурс хранения, которому этот номер присвоен. Например, администратор может сказать «создать LUN на 2 ТБ», имея в виду создание логического блочного устройства соответствующего объема и предоставление его серверу.
Как работает LUN
Физическая система хранения может состоять из множества HDD или SSD, объединенных в RAID-массивы или пулы хранения. Из доступного пространства создаются логические блочные устройства определенного размера.
Каждому такому устройству назначается LUN, по которому сервер может идентифицировать его в рамках подключения к системе хранения. После предоставления доступа сервер обнаруживает ресурс как блочное устройство и может работать с ним аналогично локальному диску: создать разделы, файловую систему или использовать его непосредственно приложением.
Например, СХД располагает пулом емкостью 100 ТБ. Администратор может выделить из него несколько логических устройств: 5 ТБ для одного сервера, 10 ТБ для другого и 20 ТБ для кластера виртуализации. Серверы при этом работают с предоставленными им устройствами, не управляя непосредственно физическими дисками СХД.
LUN в SAN
LUN особенно тесно связан с архитектурой SAN. В такой инфраструктуре серверы получают блочный доступ к централизованной системе хранения через специализированную сеть.
Передача команд и данных обычно осуществляется с использованием протоколов Fibre Channel (FC) или iSCSI. Также блочное хранилище может предоставляться с помощью других технологий, включая FCoE.
С точки зрения операционной системы доступный LUN выглядит как диск, хотя физически данные могут находиться на нескольких накопителях внутри удаленной СХД. Именно этим блочное хранение отличается, например, от NAS: в случае NAS сервер получает доступ к файлам через файловые протоколы, а при работе с SAN и LUN — к блочному устройству.
Доступ серверов к LUN
В корпоративной инфраструктуре важно не только создать LUN, но и определить, какие серверы смогут его видеть. Для этого системы хранения используют механизмы управления доступом, часто называемые LUN masking.
LUN masking позволяет предоставить конкретный LUN только определенным хостам. Например, одна СХД может обслуживать десятки серверов, но каждому из них будут доступны только назначенные ему ресурсы хранения.
В Fibre Channel SAN этот механизм может использоваться вместе с zoning. Zoning ограничивает взаимодействие устройств на уровне FC-сети, а LUN masking определяет, какие логические устройства СХД доступны конкретному серверу. Эти механизмы решают связанные, но разные задачи.
Где используются LUN
LUN применяются прежде всего в корпоративных системах хранения, дата-центрах и инфраструктуре виртуализации. Они позволяют централизованно распределять емкость СХД между физическими серверами и кластерами.
Например, несколько серверов виртуализации могут получать доступ к общему блочному хранилищу, на котором размещаются данные виртуальных машин. LUN также используются для баз данных, кластерных систем и других приложений, которым требуется блочный доступ к централизованному хранилищу.
При этом LUN не обязательно соответствует отдельному физическому диску. Это логическое представление ресурсов хранения, а его данные могут физически распределяться между большим количеством HDD или SSD.