Содержание
- 2. SCSI Small Computer System Interface - интерфейс, разработанный для объединения на одной шине различных по своему
- 3. SAS (Serial Attached SCSI) компьютерный интерфейс, разработанный для обмена данными с такими устройствами, как жёсткие диски,
- 4. SCSI vs SAS SAS использует последовательный протокол передачи данных между несколькими устройствами, и, таким образом, использует
- 5. NAS (Network Attached Storage) сетевая система хранения данных, сетевое хранилище. представляет собой одно устройство с некоторым
- 6. SAN (Storage Area Network) представляет собой архитектурное решение для подключения внешних устройств хранения данных, таких как
- 7. SAN vs NAS Кто обслуживает файловую систему? NAS – клиент оперирует понятием файл SAN – блочное
- 8. SAN Используются протоколы SCSI и SAS, iSCSI (tcp транспорт), FCP (Fiber Channel Protocol)
- 9. SAN
- 10. Switch SAN
- 11. DFS (Distributed File System) Распределённая файловая система - используется для упрощения доступа и управления файлами, физически
- 12. GFS (Google File System) Система строится из большого количества обыкновенного недорого оборудования, которое часто дает сбои.
- 13. GFS устройство Chunk (Чанк сервера) – сервера с самостоятельной операционной системой сохраняющие данные на установленные локально
- 14. Схема Клиент спрашивает мастера, какой из чанк-серверов владеет чанком, и где находится этот чанк в других
- 16. Скачать презентацию
Слайд 2SCSI
Small Computer System Interface - интерфейс, разработанный для объединения на одной шине
SCSI
Small Computer System Interface - интерфейс, разработанный для объединения на одной шине
Существует реализация системы команд SCSI поверх оборудования (контроллеров и кабелей) IDE/ATA/SATA, называемая ATAPI - ATA Packet Interface.
Слайд 3SAS (Serial Attached SCSI)
компьютерный интерфейс, разработанный для обмена данными с такими устройствами,
SAS (Serial Attached SCSI)
компьютерный интерфейс, разработанный для обмена данными с такими устройствами,
использует последовательный интерфейс для работы с непосредственно подключаемыми накопителями.
разработан для замены параллельного интерфейса SCSI и позволяет достичь более высокой пропускной способности, чем SCSI
совместим с интерфейсом SATA.
Слайд 4SCSI vs SAS
SAS использует последовательный протокол передачи данных между несколькими устройствами, и,
SCSI vs SAS
SAS использует последовательный протокол передачи данных между несколькими устройствами, и,
Интерфейс SCSI использует общую шину. Таким образом, все устройства подключены к одной шине, и с контроллером одновременно может работать только одно устройство. Интерфейс SAS использует соединения точка-точка — каждое устройство соединено с контроллером выделенным каналом.
В отличие от SCSI, SAS не нуждается в терминации шины пользователем.
В SCSI имеется проблема, связанная с тем, что скорость передачи информации по разным линиям, составляющим параллельный интерфейс, может отличаться. Интерфейс SAS лишён этого недостатка.
SAS поддерживает большое количество устройств (> 16384), в то время как интерфейс SCSI поддерживает 8, 16, или 32 устройства на шине.
SAS поддерживает высокие скорости передачи данных (1,5, 3,0 или 6,0 Гбит/с). Такая скорость может быть достигнута при передаче информации на каждом соединении инициатор-целевое устройство, в то время как на шине SCSI пропускная способность шины разделена между всеми подключёнными к ней устройствами.
SAS поддерживает подключение устройств с интерфейсом.
SAS использует команды SCSI для управления и обмена данными с целевыми устройствами.
Слайд 5NAS (Network Attached Storage)
сетевая система хранения данных, сетевое хранилище.
представляет собой одно устройство с некоторым
NAS (Network Attached Storage)
сетевая система хранения данных, сетевое хранилище.
представляет собой одно устройство с некоторым
Обеспечивает надёжность хранения данных, лёгкость доступа для многих пользователей, лёгкость администрирования, масштабируемость.
Слайд 6SAN (Storage Area Network)
представляет собой архитектурное решение для подключения внешних устройств
SAN (Storage Area Network)
представляет собой архитектурное решение для подключения внешних устройств
Не путать с NAS!!!
Слайд 7SAN vs NAS
Кто обслуживает файловую систему?
NAS – клиент оперирует понятием файл
SAN –
SAN vs NAS
Кто обслуживает файловую систему?
NAS – клиент оперирует понятием файл
SAN –
Обслуживание файловой системы в SAN возложено на клиентский компьютер, т.н. Raw-устройство
Слайд 8SAN
Используются протоколы SCSI и SAS, iSCSI (tcp транспорт), FCP (Fiber Channel Protocol)
SAN
Используются протоколы SCSI и SAS, iSCSI (tcp транспорт), FCP (Fiber Channel Protocol)
Слайд 9SAN
SAN
Слайд 10Switch SAN
Switch SAN
Слайд 11DFS (Distributed File System)
Распределённая файловая система - используется для упрощения доступа и
DFS (Distributed File System)
Распределённая файловая система - используется для упрощения доступа и
Простой доступ к файлам
Доступность
Эффективная загрузка сервера
Безопасность файлов и папок
Слайд 12GFS (Google File System)
Система строится из большого количества обыкновенного недорого оборудования, которое
GFS (Google File System)
Система строится из большого количества обыкновенного недорого оборудования, которое
Система должна хранить много больших файлов. Как правило, несколько миллионов файлов, каждый от 100 Мб и больше. Также часто приходится иметь дело с многогигабайтными файлами, которые также должны эффективно храниться. Маленькие файлы тоже должны храниться, но для них не оптимизируется работа системы.
Как правило, встречаются два вида чтения: чтение большого последовательного фрагмента данных и чтение маленького объема произвольных данных. При чтении большого потока данных обычным делом является запрос фрагмента размером в 1Мб и больше. Такие последовательные операции от одного клиента часто читают подряд идущие куски одного и того же файла. Чтение небольшого размера данных, как правило, имеет объем в несколько килобайт. Приложения, критические по времени исполнения, должны накопить определенное количество таких запросов и отсортировать их по смещению от начала файла. Это позволит избежать при чтении блужданий вида назад-вперед.
Часто встречаются операции записи большого последовательного куска данных, который необходимо дописать в файл. Обычно, объемы данных для записи такого же порядка, что и для чтения. Записи небольших объемов, но в произвольные места файла, как правило, выполняются не эффективно.
Система должна реализовывать строго очерченную семантику параллельной работы нескольких клиентов, в случае если они одновременно пытаются дописать данные в один и тот же файл. При этом может случиться так, что поступят одновременно сотни запросов на запись в один файл. Для того чтобы справится с этим, используется атомарность операций добавления данных в файл, с некоторой синхронизацией. То есть если поступит операция на чтение, то она будет выполняться, либо до очередной операции записи, либо после.
Высокая пропускная способность является более предпочтительной, чем маленькая задержка. Так, большинство приложений в Google отдают предпочтение работе с большими объемами данных, на высокой скорости, а выполнение отдельно взятой операции чтения и записи, вообще говоря, может быть растянуто.
Слайд 13GFS устройство
Chunk (Чанк сервера) – сервера с самостоятельной операционной системой сохраняющие данные
GFS устройство
Chunk (Чанк сервера) – сервера с самостоятельной операционной системой сохраняющие данные
Master (мастер сервер) – хранит три важных вида метаданных: пространства имен файлов и чанков, отображение файла в чанки и положение реплик чанков. Все метаданные хранятся в памяти мастера.
Он выполняется сканирование чанк-серверов в фоновом режиме. Эти периодические сканирования используются для сборки мусора, дополнительных репликаций, в случае обнаружения недоступного чанк-сервера и перемещение чанков, для балансировки нагрузки и свободного места на жестких дисках чанк-серверов.
Мастер отслеживает положение чанков. При старте чанк-сервера мастер запоминает его чанки. В процессе работы мастер контролирует все перемещения чанков и состояния чанк-серверов. Таким образом, он обладает всей информацией о положении каждого чанка.
Важная часть метаданных — это лог операций. Мастер хранит последовательность операций критических изменений метаданных. По этим отметкам в логе операций, определяется логическое время системы. Именно это логическое время определяет версии файлов и чанков.
Так как лог операций важная часть, то он должен надежно храниться, и все изменения в нем должны становиться видимыми для клиентов, только когда изменятся метаданные. Лог операций реплицируется на несколько удаленных машин, и система реагирует на клиентскую операцию, только после сохранения этого лога на диск мастера и диски удаленных машин.
Мастер восстанавливает состояние системы, исполняя лог операций. Лог операций сохраняет относительно небольшой размер, сохраняя только последние операции. В процессе работы мастер создает контрольные точки, когда размер лога превосходит некоторой величины, и восстановить систему можно только до ближайшей контрольной точки. Далее по логу можно заново воспроизвести некоторые операции, таким образом, система может откатываться до точки, которая находится между последней контрольной точкой и текущем временем.
Слайд 14Схема
Клиент спрашивает мастера, какой из чанк-серверов владеет чанком, и где находится этот
Схема
Клиент спрашивает мастера, какой из чанк-серверов владеет чанком, и где находится этот
Мастер в ответ выдает первичную реплику, и остальные (вторичные) реплики. Клиент хранит эти данные для дальнейших действий. Теперь, общение с мастером клиенту может понадобиться только, если первичная реплика станет недоступной.
Далее клиент отсылает данные во все реплики. Он может это делать в произвольном порядке. Каждый чанк-сервер будет их хранить в специальном буфере, пока они не понадобятся или не устареют.
Когда все реплики примут эти данные, клиент посылает запрос на запись первичной реплике. В этом запросе содержатся идентификация данных, которые были посланы в шаге 3. Теперь первичная реплика устанавливает порядок, в котором должны выполняться все изменения, которые она получила, возможно от нескольких клиентов параллельно. И затем, выполняет эти изменения локально в этом определенном порядке.
Первичная реплика пересылает запрос на запись всем вторичным репликам. Каждая вторичная реплика выполняет эти изменения в порядке, определенном первичной репликой.
Вторичные реплики рапортуют об успешном выполнении этих операций.
Первичная реплика шлет ответ клиенту. Любые ошибки, возникшие в какой-либо реплике, также отсылаются клиенту. Если ошибка возникла при записи в первичной реплике, то и запись во вторичные реплики не происходит, иначе запись произошла в первичной реплике, и подмножестве вторичных. В этом случае клиент обрабатывает ошибку и решает, что ему дальше с ней делать.