8 November 2009

Практически пример за iSCSI target - Част 1

... или как да намалим разходите и въпреки това да получим производително решение за съхранение на данни

Какво е iSCSI?

iSCSI е технологичен стандарт за предаване на SCSI команди и данни на блоково ниво по IP мрежи между клиент и компютър (target). Тази мрежова свързаност може да се използва в рамките на LAN, WAN или интернет. iSCSI устройства могат да са HDD, лентови устройства, CD/DVD устройства, които посредством хардуерен iSCSI HBA (Host Bus Adapter) или софтуер инсталиран на компютър - iSCSI инициатор, се свързват помежду си. В резултат iSCSI устройствата се "виждат" като локални на компютъра, към който са свързани по TCP/IP.
Често правена грешка е неразграничаването на iSCSI SAN и NAS Network Attached Storage). И двете използват една и съща IP мрежа, но iSCSI ни осигурява blocklevel достъп до данните (дава ни диск), а NAS - filelevel (дава ни файл).

Предимства и недостатъци ... или iSCSI vs FC

Темата е доста обсъждана и обикновено се сравнява с FC (Fibre Channel), като и двете технологии имат своите силни и слаби страни. Доводите винаги са технически и икономически обосновани, НО пречупени през призмата на частния случай. Ето това прави първоначалния избор на сторидж концепция толкова труден и объркващ.
Основно предимство на iSCSI технологията е, че стандарта е отворен - предпоставка за значително последващо развитие. Както някои казват: SCSI технологията е минало, Fibre Channel сторидж мрежите са настояще, а iSCSI сторидж мрежите са бъдещето.

Няма еднакви условия дори при просто сравнение между iSCSI и FC. Теоритично iSCSI е по-напредничава, но пък няма този "стаж" и комерсиална работа като FC. Беглото наблюдение е, че форумите са пълни с постинги относно iSCSI и съпътващи проблеми с връзки и настройки към инициатори от страна на MS Hyper-V или vmware vSphere 4 например. Това дори е радващо, доказва засилен интерес и работа в тази насока, но при Fibre Channel темите са малко "по-възвишени" - оптимизация, перформанс, резервираност и т.н. Технологията е по-узряла, защото е "поливана" с пари на големи производители и в общия случай, би се класифицирала с принципа: "Просто работи" ... но на каква цена?

Това е един от козовете на iSCSI пред FC - първоначалната цена на придобиване, която в някои проекти и решения е по-ниска в пъти. Причината е в преносната среда - ethernet и IP, т.е. използва се наличното мрежово оборудване. Мрежовата същност на протокола прави iSCSI несравимо подходящ за дистрибутирани мрежи (VPN инфраструктури), каквито вече има и в малкия бизнес.
Нека припомня, че цените на IT продуктите непрекъснато падат, в това число и на мрежовото оборудване. Не от скоро можем да закупим 4 портов гигабитов мрежов контролер от класен производител по-евтино спрямо 4 Gb FC HBA (Host Bus Adapter), ако се опитваме до постигнем същата скорост на преносната среда посредством обединение (aggregation) на мрежовите интерфейси.
Трябва да споменем и наличните вече на пазара 10 Gb мрежови интерфейси. По отношение на цената, на този етап не са особено конкурентни, но това ще се промени в близките 1-2 години. Софтурните инициатори постоянно се оптимизират и употребата им при 10Gb контролери ще се увеличава, въпреки че определено ще води до повишаване натоварването на процесора, дори при наличен TOE (TCP/IP Offload Engine) в мрежовия контролер. В това отношение технологията има леки, детски болести, но като цяло я очаква светло бъдеще.

От казаното накратно, въпреки обширната тема, не е трудно да установим, че "тънкия" момент е в правилната преценка на нуждите, ползите, поставените очаквания, оправданите рискове и разбира се отпуснатия бюджет, а темата на настоящата статия подсказва необходимостта и перспективите, които виждаме в iSCSI технологията.

Направи си сам

Разполагаме със стар, но все още работещ модел NAS - DELL Power Vault 705N. Знаехме, че яздим умрял кон и решихме да му даден зоб и да го подковем.

DELL Power Vault 705N параметри:
Drive Capacity : 4x80GB IDE type
External I/O Ports : 10/100 BaseT
Onboard Controller: Promise IDE RAID levels 0,1,1+0,5
Data Cache : 64MB SDRAM cache memory
CPU : 233 MHz Intel Pentium Processor
Max Disks & LUNs : 4



Максимално поддържания капацитет на HDD е 160GB IDE и разполага с един 10/100BaseT интерфейс. Това породи идеята да преобразим NAS-a в SAN и се обобщи в смяна на дънната платка с mITX със SATA портове и замяна на хард дисковите устройства с 4x1TB. Единствено кутията и захранващия блок бяха използваеми.

Да разгледаме компонентите

Case: 1U rackmount - елегантна черна кутия, чийто малък недостатък е липсата на сменяеми HDD чекмеджета, т.е дисковете са статично монтирани, което всъщност не е болка. Тук намесих ъглошлайф и бормашина за осигуряване нужните отвори за задния панел на дънната платка и за нейното закрепване. Отделих време и на допълнителни отвори за вентилация, определени прецизно по метода на "Очомер" и "Шесто чувство".



PSU: Захранващ блок - максималната мощност на захранващия блок е 150W, която всъщност е на ръба на необходимото, поне в момента на стартиране на системата, защото пиковото натоварване е около 110W (MB+CPU) + 40 W (HDD) - (стойностите са приблизителни). За да се избегне стартовия пик на консумация, получаващ се при първоначалното развинтване на хард дисковите устройства и за да не се активира защитата по ток, се бях подготвили с просто електронно, времезакъснително реле за два от дисковете, което трябваше да играе роля на SATA/SAS backplane и забавя първоначалния им старт с приблизително 1/2 до 1 секунда. Но след неколкократни опита се установи, че това е ненужно, а и след влизане в работен режим средната консумация се установява на около 95-100W

MoBo: Jetway JNC62K Socket AM2/AM2+ - за проекта беше нужно miniITX дъно с оглед габаритните размери, като основните изисквания бяха минимум 4 бр. SATA II порта и 2 или повече бр. гигабитови мрежови интерфейса за aggregation / teaming и не на последно място поддръжката на адекватен процесор, който да отнесе целия "бой" - софтуерен RAID и мрежови трафик.



Параметри:
- nVidia NF-8200 (MCP78S) Chipset AMD socket AM2/AM2+ Quad Core Opteron™ & Phenom™
- Mini-ITX motherboard with 2x Gigabit LAN, VGA, DVI-I, IDE, 4x SATA II, 6 Аudio
- 8x USB 2.0 Ports and integrated DirectX 10 graphics with HD-DVD, BluRay
- up to 2GB in one 240-pin DIMM socket for unbuffered Dual DDR2 667/800 SDRAM
- 1x 20pin ATX Power Connector and 1x 12V 4pin ATX Power connector (both are required).

CPU: AMD Athlon X2 7750 BE - 2.7GHz, dual core, L3 Cache 2 MB, Socket AM2+



Да! ... AMD 7750, Black Edition. Първоначалния замисъл беше Athlon x2 с понижена консумация до 45W, но спазихме принципа на мечо Пух. Вярно е, че изчислителна мощ никога не е излишна, особено при софтуерен RAID, но си признавам, че тук малко се поизхвърлихме, при условие, че комерсиални продукти в този клас използват Atom 270 или Atom 330 (dual core). От друга страна това показва, че колкото и да се "изръсите", трудно ще надхвърлите цената на готов NAS/SAN в този клас. Дали да потрием ръце предварително и какво да очакваме, тестовете ще покажат.

RAM module: Kingston, 1GB DDR2, 800MHz - нищо особено.

HDD: 4 броя Seagate Barracuda ST31000340NS/SN06 - 1TB, SATA II, 7200 rpm
Този модел е сървърен и предвиден за 24/7 натоварване с MTBF - 1.2M часа. Оптимизиран за RAID конфигурации и оборудван с 32MB cache. За повече информация и параметри тук

За радиатора на CPU и неговото захващане бяха пoложени труд и творчество. Основното затруднение дойде от факта, че захвата на АМ2 сокета е десктоп ориентиран. В този случай посоката на ребрата на всички налични сървърни 1U passive радиатори беше неподходяща за нас и се наложи да "завъртим" на 90о монтажната планка. Това позволи странично обдухване на радиатора и компонентите на платката, както е на снимката.



Наличните вентилатори в кутията бяха заменени с нови. Специално внимание се обърна за качественото обдухване на процесора чрез 2 бр. 39 mm турбо вентилатора на 8000 rpm.



Boot device: DiskOnChip - Apacer 256MB IDE - с FreeNAS 0.7RC1 AMD64



Приблизителни цени на използваните компоненти.



Цените на хард дисковите устройства са описани отделно за правилна преценка на себестойността на проекта, защото повечето продукти в този клас се продават необорудвани. Освен това използвания от нас модел на Seagate не търси цена, а надеждност и производителност.

Следва инсталация и конфигуриране на FreeNAS. Създаване и монтиране на RAID и iSCSI target. Всичко това, наред с тестовете за перформънс към инициатори на MS Windows Server 2008 и vmware ESXi 4 очаквайте скоро в Практически пример за iSCSI target - Част 2

5 comments:

  1. Good article, Milene. I like your creativity. Looking forward for the next one.

    Regards

    Boyan

    ReplyDelete
  2. Бих казал, че по производителност OpenFiler е много по бърз и много по добре направен спрямо FreeNAS. + Не трябва да работиш толкова с паметта а само с контролера и DMA за тези дискове зависимост от Software RAID или от този на дъното (ако е Real RAID)

    Иначе чудесно описание (6) от мен.

    ReplyDelete
  3. Това безспорно е така за OpenFiler, НО що се отнася до SMB трафик на файлово ниво. Виж как отново опираме до частния случай. Мисля, че не е редно да слагаме под общ знаменател масовите тестове за перформънс между SMB file sharing и iSCSI target in RAW disk format, където няма "излишна" файлова система отгоре ни! Поне аз такива не съм намирал и се извинявам ако греша.

    Благодарско за коментара!

    ReplyDelete
  4. Страхотна статия! :)

    ReplyDelete
  5. Прекрасна статия! Благодаря!
    Беше ми и полезно и приятно да чета. Очаквам с нетърпение следващата част.
    Все пак искам да направя едно уточнение/забележка. FC SAN превъзхожда iSCSI по всички параметри с изключение на цена (често пъти напълно достатъчно и оправдано). Причината е още в проектирането на протоколите. Трябва да правим разлика между Channel и Network.
    Channel:
    - Hardware intensive
    - High speed
    - Low latency
    - Short distance
    - Robust data integrity
    - Low-level error detection

    Network:
    - Software intensive
    - Large connectivity
    - Moderate latency
    - Long distance
    - Fragile
    - ULP error detection

    FC се опитва да вземе най-доброто от двата свята и успява значително при преноса на SCSI.

    И още едно дребно уточнение. Бъдещето (според мен, разбира се) е 10G Ethernet и FCoE.

    Благодаря още веднъж за статията!

    ReplyDelete

Note: only a member of this blog may post a comment.