ИТ-технологии для профессионалов

Показаны сообщения с ярлыком CLI. Показать все сообщения
Показаны сообщения с ярлыком CLI. Показать все сообщения

среда, 16 сентября 2009 г.

Полезная утилита Microsoft Diskpart

Полезность её в том, что она позволяет расширять NTFS диски в W2003, делается это нехитрым путем:

>cmd
>diskpart
>list volume
>select volume #
>extend

в этом случае все свободное место на диске, где находится том будет ему отдано. Требования: диск должен быть базовым, ФС – NTFS, место должно идти сразу за этим самым томом. Наиболее частое использование – расширение томов отданных с внешней дисковой системы. Поскольку в СХД проще недодать сейчас, чем отнять потом – команда пригодится.

также утилиту можно пользовать для просмотра ID дисков в системе:

>cmd
>diskpart
>list disk
>select disk #
>detail disk

Актуально для Microsoft Cluster Service.

Вообще утилита полезна не только этим, но это – то, чем приходится пользоваться часто.

UPD Спасибо, Александру в комментариях напомнил про выравнивание блока отступа в RAID массивах!

Проблема с выравниванием отступа (offset) старая и актуальная для 2003 сервера и младше. Заключается в том что выравнивание отступа начала файловой системы не совпадает с размером блока на массиве и поэтому все операции задействуют больше сегментов дисковой емкости чем могли бы в результате снижая быстродействие.

Описывать проблему долго и я не планирую здесь это делать, посмотреть как этот самый отступ менять можно в KB по ссылке ниже, применяя поиск по статье с ключевым словом “offset”. Для верности это значение проще всего ставить в 1024КБ. В 2008 сервере оно по умолчанию именно такое.

Ссылка на Microsoft KB по теме - №300415.

Читать дальше ...

воскресенье, 26 июля 2009 г.

DS3000 GUI vs CLI

Не секрет что системы IBM DS3000, DS4000, DS5000 производятся компанией LSI по заказу IBM, при этом прошивки систем очень похожи друг на друга. Они имеют схожую нумерацию версий, одинаковый синтаксис командной строки, управляются одним и тем же продуктом - IBM DS Storage Manager.

Системы DS4000 и DS5000 практически идентичны, с точки зрения функционала доступного из GUI DS Storage Manager. Они отличаются только эскизами самих систем (все-таки, внешне они разные) и количественными характеристиками. Другое дело отличия в GUI DS3000 и старших систем, так получается, что часть функционала имеющегося в системах DS3000 недоступна из GUI, при этом его можно задействовать через командную строку. С моей точки зрения там есть действительно нужные команды, которые могут серьезно облегчить жизнь инженеру обслуживающему данные системы. К примеру, команда расширения LUN, альтернатива ей из GUI нету.

Я думаю, что все функции не включены в GUI системы DS3000 по маркетинговым соображениям. Видимо с точки зрения IBM, если вам требуется что-то большее чем просто дисковая емкость, следует покупать системы старшего уровня

Я не буду перечислять все команды, которые доступны в системе, их можно найти в хелпе к DS Storage Manager, я же отмечу только то, что однозначно полезно знать и чем я сам неоднократно пользовался.

Самый простой способ инициировать выполнение скрипта системой – открыть DS staroge manager, щелкунть по требуемой системе правой клавишей и выбрать из контекстного меню “Execute Script”. В открывшемся окне пишем код и жмем по необходимости Verify или Execute.

Теперь непосредственно сами команды:

1. Добавление дисков к уже существующему массиву можно выполнить из GUI но добавлять можно только по одному диску (по два для RAID10), через консоль же можно добавлять по два диска и для RAID 5/6. Учитывая то, что каждый шаг расширения может достигать нескольких часов, консоль в случае расширения RAID 5/6 уменьшит количество итераций в 2 раза.

Синтаксис:
set array [tst] addDrives=(0,9 0,10);
здесь “tst” имя array, диски адресуются по принципу «номер полки запятая номер диска», между дисками ставится пробел.

2. Если у Вас на Array находится несколько LUN и Вы удаляете не последний на его месте образуется «пусто место». Это пустое место будет доступно для того чтобы сделать на его месте один или несколько LUN, но если вы хотите использовать это место для создания большого луна, тоесть использовать его вместе с другим пустым местом – ничего не получится. Поскольку можно создать LUN только на пустом месте идущем «одним куском». Помогает вынести все свободное место в конец массива команда дефрагментации. В GUI её нет.

Синтаксис:
start array [tst] defragment;
здесь “tst” имя array

3. После создания LUN зачастую оказывается, что места было мало и необходимо предоставить больший объем. В GUI DS3000 не умеют расширять LUN, то есть предполагается, что мы создаем новый LUN, копируем на него данные и потом меняем старый на новый LUN. Понятно что такая процедура очень сложна и требует на одной системе места и под старый LUN и под новый, либо стороннего дискового пространства. Ну и в момент переноса данные будут недоступны по понятным причинам. В консоли же есть штатная команда для расширения, процесс займет какое-то время (в зависимости от размера LUN), но работа с данными не будет прервана и после окончания ОС просто обнаружит пустое место на диске (так будет в ОС Windows 2003/2008).

Синтаксис:
set logicalDrive ["tstlun"] addCapacity= 1 GB;
Здесь “testlun” имя LUN, вместо GB могут быть MB. Не забудьте пробел после цифры.

4. Можно изменить размер сегмента LUN. Целесообразность – тема отдельная, но в GUI этой функции нету.

Синтаксис:
set logicalDrive ["tstlun"] segmentSize = 256;
Здесь “testlun” имя LUN, цифра размер сегмента в kb.

5. В системе можно изменить настройки кэширования для отдельного LUN. Чтобы понять что отвечает за что – нужно читать Redbook.

Синтаксис:
set logicalDrive ["tstlun"] cacheFlushModifier=cacheFlushModifierValue cacheWithoutBatteryEnabled=(TRUE | FALSE) mirrorCacheEnabled=(TRUE | FALSE) readCacheEnabled=(TRUE | FALSE) writeCacheEnabled=(TRUE | FALSE) cacheReadPrefetch=(TRUE | FALSE);
Здесь “testlun” имя LUN, варианты представлены в скобках.

6. Можно изменить размер блока КЭШа. С моей точки зрения надо ставить 16 kb.

Синтаксис:
set storageSubsystem cacheBlockSize=16;

7. Можно изменить настройки работы КЭШа.

Синтаксис:
set storageSubsystem cacheFlushStart=80 cacheFlushStop=80;
Для понимание что это – Redbook. Best Practice – 80 оба значения.

8. Можно снять с системы результаты производительности. С моей точки зрения результаты могут быть чрезвычайно полезны.

Синтаксис:
set session performanceMonitorInterval=10 performanceMonitorIterations=10;
save storageSubsystem performanceStats file="C:\perf.txt";
Здесь в первой строке мы задаем время снятия изменений (одной итерации) и количество этих итераций. Во второй строке мы стартуем процесс снятия результатов и указываем, куда сохранять результаты.

9. Можно посмотреть статус текущей операции и процент её выполнение. В GUI система показывает, что она просто “Operation in prgoress” через CLI можно еще и получить точную информацию о проценте выполнения.

Синтаксис:
show logicalDrive[tstlun] actionProgress;
Здесь “testlun” имя LUN. Также можно использовать для создания скриптов где требуется дождаться что система свободна.

Информация по теме:
http://www.redbooks.ibm.com/abstracts/sg247065.html - RedBook IBM System Storage DS3000: Introduction and Implementation Guide

ftp://ftp.software.ibm.com/systems/support/bladecenter/gc52127502.pdf - IBM System Storage DS3000, DS4000, and DS5000 Command Line Interface and Script Commands Programming Guide

Читать дальше ...