International conference of developers
and users of free / open source software

Сеть хранения данных своими руками

Роман Шишнев, Минск, Belarus

LVEE 2013

There is a small gap in ready solutions between the systems with a local disks and a professional storage systems. The report highlights some technologies and approaches helpful at building personal storage area network of arbitrary size for using in various environments.

В настоящее время есть небольшой разрыв между готовыми системами, использующими локальные диски для хранения данных, и профессиональными системами хранения данных. Рассмотрим некоторые современные технологии, которые могут помочь самостоятельно построить сеть хранения данных (СХД) практически любого масштаба для применения в самых различных средах.

На первом шаге постороения личной СХД необходимо определить параметры её производительности и доступность. Ключеными моментами для СХД являются:

  • объем дискового простанства;
  • производительность в IOPS (операций ввода-вывода в секунду);
  • latency (среднее время доступа к данным);
  • пропускная способность сети;
  • допустимое время простоя.

На обьеме доступного простанства останавливаться не будем, так как тот параметр зависит исключительно от задачи.

Произодительность в количестве операций ввода/вывода в секунду следует рассматривать как ключевой параметр системы. Для примера, один диск SATA с 7200 оборотами в секунду позволяет выполнять около 100 операций при случайном доступе. Именно требуемое количество IOPS для СХД в основном и определяет тип и колическов дисков в нашей системе.

Latency в большей степени также зависит от дисков. Но при достаточно быстрых дисках, например SSD, стоит уже учитывать и задержки, которые возникают в сети при передаче данных.

Пропускная способность сети определяет максимальную скорость, на которой можно будет выполнять операции чтения и записи на системе хранения данных. В зависимости от задачи сеть можно создавать медленном медном гигабитном Ethernet, на 10-ти гигабитной оптике, либо на высокосторостном fiber channel.

Допустимое время простоя определяет количесво дублированных компонентов в сети и системе хранения данных.

Теперь рассмотрим самую простую задачу:

  • сервер A, в котором установлен один SATA-диск;
  • сервер B, которому нужно получить доступ к этому диску;
  • гигабитные сетевые карты на каждом из серверов.

Для получения доступа к этому диску по сети Ethernet нужно выбрать протокол передачи данных. Самым простым и удобным протоколом в данном случае является iSCSI – это по сути SCSI-протокол поверх TCP/IP. На сервер A нужно будет установить ПО, которое реализует так называемый iSCSI-таргет – именно он будет осуществлять доступ к диску. На сервере B должен быть установлен iSCSI-инициатор – он будет подключаться к дискам. После установки и настройки сервер B будет видеть диск сервера A так, как будто он локальный.

Добавим в схему сервер C, которому также нужен доступ к этому диску.

Для этого схему нужно просто дополнить гигабитным коммутатором, к которому теперь будут подключены все 3 сервера. На сервере C достаточно установить / настроить iSCSI-инициатор и подключить к iSCSI-таргету на сервере A.

После приведенных манипуляций серверы B и C “видят” один и тот-же диск.

Имеет смысл предусмотреть также меры по устанению единых точек отказа в системе, и опционально – варианты маштабирования системы до десятков и сотен дисков и серверов.

Abstract licensed under Creative Commons Attribution-ShareAlike 3.0 license

Back