Настройка поведения кэширования диска Linux для максимальной пропускной способности

Я просто создаю 350 МБ активный раздел и остальная часть заливки диска с другим разделом. Отформатируйте первый с NTFS, установкой bootmgr и bcd. Вытолкайте установку Win7 на другой раздел. Затем используйте bcdedit указывать device и osdevice настройки для {bootmgr} и {default}.

Править:
Еще несколько деталей того, как мы делаем автоматизированное развертывание Windows 7. Теперь примите во внимание, что у нас есть довольно мало программного обеспечения, что, где установка не может быть автоматизирована, таким образом, большинство инструментов MS просто не работает настолько хорошо. (Я действительно желаю, чтобы поставщики добрались бы с программой, она не похожа на Windows Installer, и формат MSI были вокруг в течение десятилетия; о, ожидайте, они имеют.) Так или иначе большая часть из этого является материалом довольно стандартного развертывания.

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

  1. Создайте поле с минимальным программным обеспечением, установленным и обновленным. Наша новая версия имеет Windows 7, Office 2010, различная промышленность определенные программы и инструменты, а также убивание Платформы.NET, Времени выполнения Visual C++, Java и связанных вещей. Последняя вещь сделать выполняется: sysprep /generalize /shutdown (после которого компьютер выключит себя).

  2. Если у Вас есть копия WinPE, готового пойти, пропустите этот шаг. Загрузите Windows AIK и установите его. Следуйте инструкциям для того, чтобы заставить WinPE отобразить, который будет работать на Вашу среду. Наиболее распространенными установками является Загрузочный CD, Загрузочный USB HD или PXE (Вам нужны сервер TFTP и конфигурации DHCP для PXE; WDS является реализацией MS, хотя сторонние инструменты работают также). Обязательно скопируйте ImageX (в папке Windows AIK) и другие инструменты, если Вы хотите к изображению WinPE.

  3. Загрузите компьютер от Шага № 1 с изображением WinPE. Вам будет нужно место для хранения изображения, внешний USB, HD или сетевой ресурс обычно являются лучшими местами. Можно смонтировать использование сетевого ресурса net use * \\server\share. В зависимости от точной конфигурации Ваш компьютер мог бы иметь больше чем один раздел. Выполните команду получения однажды для каждого раздела (распространено иметь два):

    imagex /capture C:\ Z:\MyImage-C.wim "MyImage"
    imagex /capture D:\ Z:\MyImage-D.wim "MyImage"

    Когда это сделало, у Вас есть изображение, которое Вы пишете в любой подобный компьютер. Компьютеры не должны быть ужасно подобными, но Вы получите лучшие результаты с подобными компьютерами.

  4. Подготовьте новый компьютер к изображению. При развертывании этого на наборе компьютеров, Вы захотите создать пользовательское изображение WinPE только для записи изображения к компьютеру. Тем путем можно запустить его и уйти.

    WinPE является удивительно простой версией Windows, который все еще имеет много функций. Проигрывание вокруг с ним немного даст Вам лучшее представление о том, как Windows работает (это - подобный процесс для полноценной установки Windows).

    Можно записать пакетный файл и поместить его в Windows\system32\startnet.cmd и это будет выполнено автоматически, когда WinPE загрузится. Наш файл имеет некоторые дополнительные сложности, поскольку мы используем USMT для перемещения файлов пользователей от одного изображения ОС до другого, но простая версия могла пойти как это:

    REM You can leave this line out if you don't need the network
    wpeinit
    
    REM Map the network drive where the image lives
    net use Z: \\server\share\images winpe_password /u:winpe_user
    
    REM Partition the drive
    diskpart /s diskpart.script
    
    REM Write the image(s)
    imagex /apply Z:\MyServer-BootPartition.wim 1 C:\
    imagex /apply Z:\MyServer-SystemPartition.wim 1 D:\
    
    REM Fix the BCD
    bcdedit -store C:\boot\BCD -set {bootmgr} device partition=c:
    bcdedit -store C:\boot\BCD -set {current} device partition=d:
    bcdedit -store C:\boot\BCD -set {current} osdevice partition=d:
    
    REM If you're booting from a USB drive you should uncomment the following two lines
    REM echo All done writing the image.
    REM pause
    

    diskpart.script файл находится в том же каталоге со сценарием пакетной обработки. Это - содержание:

    sel drive 0
    clean
    create part pri size=350
    format quick
    act
    assign letter=c
    create part pri
    format quick
    assign letter=d
    exit
    

    Быстрое примечание, я знаю, что BCD для наших изображений содержит раздел Windows Boot Loader, названный "{текущим}". Если это будет отличаться для Вашей установки Windows, то необходимо будет изменить тот раздел. Выполненный bcdedit -enum на машине во время шага 1, чтобы видеть информацию о Windows Boot Loader и посмотреть на Идентификатор.

    Почти все это может быть сделано полностью вручную, если Вы предпочитаете также. Легче зафиксировать мало ошибок при выполнении его вручную; и если Вы только сделаете компьютер или два, то потребуется меньше времени, делая его вручную.

  5. Когда загрузки компьютера затем это будет иметь универсальное имя WIN-8972345893 и не будет частью Вашего домена (если у Вас будет один), это довольно быстро, чтобы переименовать компьютер и соединить его с доменом; или можно создать файл unattend.xml и передать его sysprep назад на шаге 1. Файл unattend.xml может предоставить довольно много опций; является самым легким использовать MDT Microsoft 2010 для авторской разработки файла.

12
задан 15 February 2012 в 12:48
3 ответа

Судя по установленным вами переменным, кажется, что вы больше всего озабочены производительностью записи и не заботитесь о возможных потерях данных из-за перебоев в подаче электроэнергии.

когда-нибудь получите возможность отложенной записи и использования кеша обратной записи с асинхронными операциями записи. Операции синхронной записи требуют фиксации на диск и никогда не будут записываться лениво. Ваша файловая система может вызывать частые сбросы страниц и синхронные записи (обычно из-за журналирования, особенно с ext3 в режиме data = journal). Кроме того, даже «фоновая» очистка страниц будет мешать некэшируемым чтениям и синхронной записи , тем самым замедляя их.

В общем, вы должны измерить некоторые показатели, чтобы увидеть, что происходит - вы видите свою копию процесс поставить в "D" состояние ожидания выполнения операций ввода-вывода с помощью pdflush? Вы наблюдаете интенсивную синхронную запись на ваших дисках?

Если ничего не помогает, вы можете настроить явную файловую систему tmpfs, где вы копируете свои резервные копии и просто синхронизируете данные с вашими дисками постфактум - даже автоматическое использование inotify

Для кэширования чтения все значительно проще - есть утилита fcoretools fadvise , которая имеет параметр - willneed , чтобы рекомендовать ядру загрузить файл содержимое в буферный кеш.

Изменить:

vm.dirty_ratio = 70

Теоретически это должно дать нам 16 ГБ для кэширования ввода-вывода и немного подождать минут до записи на диск.

Это не сильно повлияло бы на ваш сценарий тестирования, но в вашем понимании есть неправильное представление. Параметр dirty_ratio - это не процент от общей памяти вашей системы, а скорее свободной памяти вашей системы.

Есть статья о Настройка для больших нагрузок при записи с более подробной информацией.

6
ответ дан 2 December 2019 в 21:38

Или просто возьмите больше дисков ... Имеющаяся у вас конфигурация массива дисков не поддерживает все, что вам нужно. Это тот случай, когда решение необходимо изменить в соответствии с вашими реальными потребностями. Я понимаю, что это всего лишь резервная копия, но имеет смысл избегать лишнего исправления.

3
ответ дан 2 December 2019 в 21:38

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

Тем не менее, необходимо выполнить настройку. сделано на уровне файловой системы.

Например, если вы использовали ext4, вы можете попробовать опцию монтирования:

барьер = 0

То: "отключает использование барьеров записи в коде jbd. Барьеры записи обеспечивают правильное упорядочение на диске журнальных коммитов, что делает использование энергозависимых кешей записи на диск безопасным, с некоторым снижением производительности. Если ваши диски тем или иным образом питаются от батареи, отключение барьеров может безопасно повысить производительность. Параметры монтирования «барьер» и «без барьера» также могут использоваться для включения или отключения барьеров для согласованности с другими параметрами монтирования ext4. "

Подробнее на: http: //www.mjmwired. net / kernel / Documentation / filesystems / ext4.txt

1
ответ дан 2 December 2019 в 21:38

Теги

Похожие вопросы