Ця стаття - розвиток ідеї створення 10G мережі для обробки зображень.
Замовник - невелика фотостудія, що активно знімається всілякі eventи - весілля, зустрічі, корпоративні свята тощо.
Після дня зйомки одним-двома фотографами треба швидко відсортувати до декількох тисяч фотографій, зробити попередню вибірку кращих, швидко їх обробити і представити замовнику першу версію вибірки фотознімків.
Іноді до цього додається відео зйомка заходу.
Пізніше часто потрібна більш тонка обробка фото і відео матеріалів, верстка фотоальбомів і фотокниг, підготовка коротких фільмів.
З боку комп'ютерної системи потрібна висока ємність (у рік студія виробляє близько 10 терабайт фото-відео матеріалів) і висока швидкість доступу до наявної фото і відео бібліотеки з 3-4 комп'ютерів. В основному це комп'ютери виробництва Apple.
Через рік приблизно 90-95% фото-відео контенту стирається, решта 5-10% зберігаються на кілька років.
Враховуючи побажання по сумарному обсягу зберіганих даних, було запропоновано використовувати мережеве сховище NAS з ємністю не менше 6 дисків. У результаті було обрано 8 дискове сховище, але на початковому етапі в нього було встановлено 6 дисків за 3ТБ.
Потребу в швидкому доступі до мережевих ресурсів з комп'ютерів Apple реалізували двома способами:
дротовий доступ через конвертер Thunderbolt - 10G Ethernet.
бездротовий доступ для ноутбуків був реалізований на стандарті WiFi AC.
Мережевим сховищем було обрано модель QNAP TS-870Pro. З обладнанням цієї компанії я працюю вже чимало років, і досвід поки маю тільки позитивний.
Моделі з індексом Pro дозволяють встановлювати додаткову мережеву карту, в тому числі з 10 гігабітними портами. Такі моделі випускаються вже не перший рік, але в моєму проекті назвалися вперше. Попередні рішення, в яких були 10гігабітні магістралі, будувалися на основі Windows серверів, тому було цікаво, як поведе себе NAS при роботі в такій швидкісній мережі.
Деяким обмеженням був досить короткий список сумісних 10G мережевих карт. На щастя, у дистриб'ютора знайшлася одна з відповідних моделей - Emulex OCe11102-NX.
Карта була встановлена в NAS і «завелася» без будь-яких проблем.
Підключена вона була через комутатор з 10G SFP + портами кабелем прямого підключення.
Один з комп'ютерів вдалося підключити по мідному SFP + кабелю, інший - по оптиці-мультимоду через SFP + трансівери. Трансівери використовувалися китайські, від 10Gtek.
Але на тестах використовувалися тільки мідні кабелі.
На накопичувачі була встановлена остання доступна на момент тестування версія firmware 4.1.1.
Тестувалася конфігурація на основі RAID5 - та, яка і буде працювати у замовника.
Для початку було запущено кілька синтетичних тестів.
Один з найбільш відомих - Intel NASPT.
Дещо підозрілим виглядає значення для HD Video Record, Схоже, це результат кешування.
А ось результат для одночасного читання і запису цікавий для нашого випадку. І він вийшов цілком гідним.
Тест від Atto показав наступне:
Але все це синтетичні тести.
Цікаво було зрозуміти, яка швидкість читання-запису вийшла на реальних завданнях.
Ось як виглядає Dashboard на NAS. Спочатку була операція читання зі сховища, потім читання і запис (з різних комп'ютерів), потім знову читання:
Як можна припустити, ми використовували всю продуктивність нашої дискової підсистеми. Тільки на читання отримуємо трохи менше 500 мегабайт в секунду. Додаємо процес запису - і швидкість читання пропорційно падає.
Якщо подивитися в операціях введення-виведення, отримуємо близько 5000-6000 IOPS, latency в районі 130мсек.
Завантаження процесора сховища при цьому не перевищує 50%. Цікаво, що завантаження розподіляється за 4 ядрами CPU досить рівномірно.
На зчитуванні великих файлів (імітація роботи з «шарами» файлами Photoshop і відео файлами) отримувалася швидкість близько 400-450 мегабайт в секунду.
На скільки це добре для пристрою класу SOHO - мені сказати складно. Було б цікаво дізнатися, які результати виходили на інших моделях мережевих накопичувачів подібного класу.
За відчуттями від роботи в програмах, що працюють з безліччю графічних файлів, типу Lightroom, Premiere Pro, швидкість роботи при «пролистуванні» каталогу картинок, кешуванні відео файлів та інших операціях, в яких швидкість зчитування буде визначальною, порівняно з гігабітним підключенням, швидкість зросла в кілька разів.
Робота в завданнях, для яких важлива ще й швидкість обробки інформації, хоча і зросла, але не так значно. Це були завдання генерації JPG файлів і слайд шоу відео роликів з RAW файлів, розміром по 30-50мегабайт кожен. У цьому випадку помітна стала різниця в потужності процесора використовуваних комп'ютерів. Завантажувати дані ми можемо швидко, а їх обробка в нашому випадку «впирається» у продуктивність процесора.
Для резервування використовується зовнішні диски, що з'єднуються за USB3, і копіювання в «хмару» CrashPlan.
Кому може бути корисно таке рішення?
На мій погляд, це невеликі студії, що працюють з потоком фото і відео матеріалів. Якщо людей, які обробляють ці матеріали більше одного, і працювати вони можуть з різних комп'ютерів, з'являється сенс в організації всіх медіа файлів, часто розкиданих по безлічі зовнішніх дисків, на одному пристрої. І швидкість доступу підвищується (на звичайних зовнішніх дисках я не бачив швидкості читання-запису більше 100-120 мегабайт в секунду), і захист від збоїв одиночних дисків, і автоматичне резервування можна налаштувати.
Крім цього подібний NAS надає ще багато додаткових функцій. Для когось буде важлива його можливість працювати сервером відеоспостереження, хтось використовує його для закачування torrentів, комусь здасться корисною можливість вбудованого XBMC плеєра.
А ось чим ця система сама по собі точно не є, так це backup системою. За умови, що вона у вас одна. RAID5 хоч і захищає від одиночного збою диска, не переживе виходу з ладу другого диска, поки перший синхронізується після заміни збійливого. Ніхто не заважає організувати RAID10 чи RAID6, але втрати корисного дискового простору будуть значні, та й у разі затоплення чи пожежі це не допоможе. У цьому випадку - або синхронізація з другим таким же пристроєм, розташованим в географічно віддаленому місці, або резервні копії на зовнішні диски, або резервне копіювання «в хмару», що і було реалізовано в цьому проекті.
Мені було б цікаво дізнатися, як подібну задачу зберігання - доступу до фото-відео вихідцям при не-корпоративному бюджеті вирішували «колеги по цеху».