Тестирование производительности и стабильности CentOS : Phoronix Test Suite
Для тестирования производительности и стабильности сервера под управление CentOS можно использовать пакет тестов Phoronix Test Suite. Данный пакет содержит огромное количество самых разнообразных тестов, начиная от стресс-теста центрального процессора заканчивая тестами графической подсистемы. Мы же ограничимся описанием установки Phoronix Test Suite и запуском самых необходимых в серверной жизни тестов.
Для установки Phoronix Test Suite необходимо выполнить следующее :
[root@server4 ~]# yum install gcc gcc-c++ make patch php-cli autoconf automake [root@server4 ~]# wget http://www.phoronix-test-suite.com/download.php?file=phoronix-test-suite-2.4.1 [root@server4 ~]# tar xvfz phoronix-test-suite-2.4.1.tar.gz [root@server4 ~]# cd phoronix-test-suite [root@server1 ~]# ./install-sh
Теперь можно посмотреть список всех доступных в Phoronix Test Suite тестов, изобилие которых просто впечатляет :
[root@server4 phoronix-test-suite]# phoronix-test-suite list-tests ======================================== Phoronix Test Suite - Tests ======================================== aio-stress - AIO-Stress [VERIFIED, FREE] apache - Apache Benchmark [VERIFIED, FREE] battery-power-usage - Battery Power Usage [VERIFIED, FREE] blogbench - BlogBench [VERIFIED, FREE] bork - Bork File Encrypter [VERIFIED, FREE] build-apache - Timed Apache Compilation [VERIFIED, FREE] build-imagemagick - Timed ImageMagick Compilation [VERIFIED, FREE] build-linux-kernel - Timed Linux Kernel Compilation [VERIFIED, FREE] build-mplayer - Timed MPlayer Compilation [VERIFIED, FREE] build-mysql - Timed MySQL Compilation [VERIFIED, FREE] build-php - Timed PHP Compilation [VERIFIED, FREE] bullet - Bullet Physics Engine [VERIFIED, FREE] bwfirt - Bwfirt [VERIFIED, FREE] byte - BYTE Unix Benchmark [VERIFIED, FREE] c-ray - C-Ray [VERIFIED, FREE] cachebench - CacheBench [VERIFIED, FREE] compilebench - Compile Bench [VERIFIED, FREE] compliance-acpi - ACPI [VERIFIED, FREE] compliance-ogl - GLEW [VERIFIED, FREE] compliance-sensors - LM Sensors [VERIFIED, FREE] compress-7zip - 7-Zip Compression [VERIFIED, FREE] compress-gzip - Gzip Compression [VERIFIED, FREE] compress-lzma - LZMA Compression [VERIFIED, FREE] compress-pbzip2 - Parallel BZIP2 Compression [VERIFIED, FREE] crafty - Crafty [VERIFIED, FREE] dbench - Dbench [VERIFIED, FREE] dcraw - dcraw [VERIFIED, FREE] doom3 - Doom 3 [VERIFIED, RETAIL] encode-ape - Monkey Audio Encoding [VERIFIED, FREE] encode-flac - FLAC Audio Encoding [VERIFIED, FREE] encode-mp3 - LAME MP3 Encoding [VERIFIED, FREE] encode-ogg - Ogg Encoding [VERIFIED, FREE] encode-wavpack - WavPack Audio Encoding [VERIFIED, FREE] espeak - eSpeak Speech Engine [VERIFIED, FREE] et - Enemy Territory [VERIFIED, FREE] etqw-demo-iqc - ET: Quake Wars Image Quality [VERIFIED, NON-FREE] etqw-demo - ET: Quake Wars Demo [VERIFIED, NON-FREE] etqw - ET: Quake Wars [VERIFIED, RETAIL] ffmpeg - FFmpeg [VERIFIED, FREE] fgl-glxgears - ATI fgl_glxgears [VERIFIED, RESTRICTED] fhourstones - Fhourstones [VERIFIED, FREE] fio - Flexible IO Tester [VERIFIED, FREE] fs-mark - FS-Mark [VERIFIED, FREE] gcrypt - Gcrypt Library [VERIFIED, FREE] geekbench - Geekbench [VERIFIED, NON-FREE] gmpbench - GMPbench [VERIFIED, FREE] gnupg - GnuPG [VERIFIED, FREE] graphics-magick - GraphicsMagick [VERIFIED, FREE] gtkperf - GtkPerf [VERIFIED, FREE] hdparm-read - hdparm Timed Disk Reads [VERIFIED, FREE] himeno - Himeno Benchmark [VERIFIED, FREE] hmmer - Timed HMMer Search [VERIFIED, FREE] hpcc - HPC Challenge [VERIFIED, FREE] idle-power-usage - Idle Power Usage [VERIFIED, FREE] idle - Timed Idle [VERIFIED, FREE] iozone - IOzone [VERIFIED, FREE] j2dbench - Java 2D Microbenchmark [VERIFIED, FREE] java-scimark2 - Java SciMark [VERIFIED, FREE] jgfxbat - Java Graphics Basic Acceptance Test [VERIFIED, FREE] john-the-ripper - John The Ripper [VERIFIED, FREE] jxrendermark - JXRenderMark [VERIFIED, FREE] lightsmark - Lightsmark [VERIFIED, NON-FREE] mafft - Timed MAFFT Alignment [VERIFIED, FREE] md-gromacs - GROMACS MD Benchmark [VERIFIED, FREE] mencoder - Mencoder [VERIFIED, FREE] minion - Minion [VERIFIED, FREE] mrbayes - Timed MrBayes Analysis [VERIFIED, FREE] n-queens - N-Queens [VERIFIED, FREE] nero2d - Open FMM Nero2D [VERIFIED, FREE] nexuiz-iqc - Nexuiz Image Quality [VERIFIED, FREE] nexuiz - Nexuiz [VERIFIED, FREE] npb - NAS Parallel Benchmarks [VERIFIED, FREE] openarena - OpenArena [VERIFIED, FREE] opencl-ati - ATI Stream SDK - OpenCL Tests [VERIFIED, FREE] openssl - OpenSSL [VERIFIED, FREE] opstone-svd - Opstone Singular Value Decomposition [VERIFIED, NON-FREE] opstone-svsp - Opstone Sparse-Vector Scalar Product [VERIFIED, NON-FREE] opstone-vsp - Opstone Vector Scalar Product [VERIFIED, NON-FREE] padman - World of Padman [VERIFIED, FREE] pgbench - PostgreSQL pgbench [VERIFIED, FREE] postmark - PostMark [VERIFIED, FREE] povray - POV-Ray [VERIFIED, FREE] prey - Prey [VERIFIED, RETAIL] pybench - PyBench [VERIFIED, FREE] pyopencl - PyOpenCL [VERIFIED, FREE] qgears2 - QGears2 [VERIFIED, FREE] quake4 - Quake 4 [VERIFIED, RETAIL] ramspeed - RAMspeed [VERIFIED, FREE] render-bench - Render Bench [VERIFIED, FREE] scimark2 - SciMark [VERIFIED, FREE] smokin-guns - Smokin Guns [VERIFIED, FREE] specviewperf10 - SPECViewPerf 10 [VERIFIED, FREE] specviewperf9 - SPECViewPerf 9 [VERIFIED, FREE] sqlite - SQLite [VERIFIED, FREE] stream - Stream [VERIFIED, FREE] stresscpu2 - StressCPU2 Stress-Test [VERIFIED, FREE] sudokut - Sudokut [VERIFIED, FREE] sunflow - Sunflow Rendering System [VERIFIED, FREE] super-pi - Super PI [VERIFIED, NON-FREE] supertuxkart - SuperTuxKart [VERIFIED, FREE] tachyon - Tachyon [VERIFIED, FREE] tiobench - Threaded I/O Tester [VERIFIED, FREE] tremulous - Tremulous [VERIFIED, FREE] trislam - Triangle Slammer [VERIFIED, FREE] tscp - TSCP [VERIFIED, FREE] unigine-heaven - Unigine Heaven [VERIFIED, NON-FREE] unigine-sanctuary - Unigine Sanctuary [VERIFIED, NON-FREE] unigine-tropics - Unigine Tropics [VERIFIED, NON-FREE] unpack-linux - Unpacking The Linux Kernel [VERIFIED, FREE] urbanterror - Urban Terror [VERIFIED, FREE] ut2004-demo - Unreal Tournament 2004 Demo [VERIFIED, NON-FREE] vdrift-fps-monitor - VDrift [VERIFIED, FREE] vdrift - VDrift [VERIFIED, FREE] video-cpu-usage - 1080p H.264 Video Playback [VERIFIED, FREE] video-extensions - MPlayer Video Playback Tests [VERIFIED, FREE] warsow - Warsow [VERIFIED, FREE] wine-cloth - Humus Cloth [VERIFIED, FREE] wine-domino - Humus Domino [VERIFIED, FREE] wine-fire2 - Humus Fire2 [VERIFIED, FREE] wine-hdr - Humus HDR [VERIFIED, FREE] wine-metaballs - Humus Metaballs [VERIFIED, FREE] wine-vf2 - Humus Volumetric Fogging 2 [VERIFIED, FREE] wine-water - Humus Water [VERIFIED, FREE] x11perf - x11perf [VERIFIED, FREE] x264 - x264 [VERIFIED, FREE] xplane9 - X-Plane [VERIFIED, FREE] yafray - YafRay [VERIFIED, FREE]
Основными тестами, которые необходимо прогнать, например, на веб-сервере под управлением CentOS, являются следующие : apache (Apache Benchmark), iozone (IOzone), compress-pbzip2 (Parallel BZIP2 Compression), aio-stress (AIO-Stress), ramspeed (RAMspeed), fio (Flexible IO Tester), sqlite (SQLite), stresscpu2 (StressCPU2 Stress-Test).
Привожу результаты некоторых тестов на железяке с процессором Intel(R) Core(TM)2 Quad CPU Q9650 @ 3.00GHz, материнской платой Intel DQ35MP, 4 GB DDR2 @ 800MHz памяти, ЖД Western Digital WD4000ABYS-01TNA0 и сетевой картой D-Link DGE-528T Gigabit Ethernet Adapter.
Apache Benchmark – 7807.26 запросов/секунду (This is a test of ab, which is the Apache Benchmark program. This test profile measures how many requests per second a given system can sustain when carrying out 500,000 requests with 100 requests being carried out concurrently):
[root@server4 ~]# phoronix-test-suite benchmark apache
Would you like to save these test results (Y/n)? n
Running Pre-Test Scripts...
Apache Benchmark:
apache
Expected Trial Run Count: 3
Started Run 1 @ 14:40:22
Started Run 2 @ 14:41:28
Started Run 3 @ 14:42:35
Test Results:
7917.80
7769.38
7734.60
Average: 7807.26 Requests Per Second
IOzone – 405.79 MB/s запись, 1777.53 MB/s чтение (The IOzone benchmark tests the hard disk drive / file-system performance.) :
[root@server4 ~]# phoronix-test-suite benchmark iozone
========================================
Test Configuration: IOzone
========================================
Size:
1: 512MB
2: 2GB
3: 4GB
4: 8GB
5: Test All Options
Enter Your Choice: 1
Disk Test:
1: Write Performance
2: Read Performance
3: Test All Options
Enter Your Choice: 3
Would you like to save these test results (Y/n)? n
IOzone:
iozone [Size: 512MB - Disk Test: Write Performance]
Test Run 1 of 2
Expected Trial Run Count: 3
Started Run 1 @ 14:45:28
Started Run 2 @ 14:45:47
Started Run 3 @ 14:46:05
Started Run 4 @ 14:46:24
Started Run 5 @ 14:46:42
Started Run 6 @ 14:47:01
Test Results:
447.6591796875
456.3671875
169.2451171875
466.826171875
443.6923828125
451.005859375
Average: 405.79 MB/s
IOzone:
iozone [Size: 512MB - Disk Test: Read Performance]
Test Run 2 of 2
Estimated Test Run-Time: 2 Minutes
Expected Trial Run Count: 3
Started Run 1 @ 14:47:29
Started Run 2 @ 14:47:47
Started Run 3 @ 14:48:06
Test Results:
1799.5029296875
1748.13671875
1784.9736328125
Average: 1777.53 MB/s
Parallel BZIP2 Compression – 12.49 секунд (This test measures the time needed to compress a file using BZIP2 compression.) :
[root@server4 ~]# phoronix-test-suite benchmark compress-pbzip2
Would you like to save these test results (Y/n)? n
Running Pre-Test Scripts...
256+0 records in
256+0 records out
268435456 bytes (268 MB) copied, 30.3706 seconds, 8.8 MB/s
Parallel BZIP2 Compression:
compress-pbzip2
Expected Trial Run Count: 3
Started Run 1 @ 14:55:11
Started Run 2 @ 14:55:26
Started Run 3 @ 14:55:40
Test Results:
12.519613981247
12.449326038361
12.512418031693
Average: 12.49 Seconds
AIO-Stress – 767.06 MB/s (AIO-Stress is an a-synchronous I/O benchmark created by SuSE. Current this profile uses a single thread, a 1024MB test file, a 64KB record size.) :
[root@server4 ~]# phoronix-test-suite benchmark aio-stress
========================================
Test Configuration: AIO-Stress
========================================
Test:
Would you like to save these test results (Y/n)? n
========================================
Estimated Run-Time: 3 Minutes
========================================
AIO-Stress:
aio-stress [Test: Random Write]
Estimated Test Run-Time: 3 Minutes
Expected Trial Run Count: 3
Started Run 1 @ 15:04:39
Started Run 2 @ 15:05:00
Started Run 3 @ 15:05:17
Started Run 4 @ 15:05:34
Started Run 5 @ 15:05:51
Started Run 6 @ 15:06:08
Test Results:
677.07
795.06
781.90
780.56
793.49
774.30
Average: 767.06 MB/s
RAMspeed – 3696.17 MB/s [Type: Average - Benchmark: Integer] (This benchmark tests the system memory (RAM) performance.) :
[root@server4 ~]# phoronix-test-suite benchmark ramspeed
========================================
Test Configuration: RAMspeed
========================================
Type:
1: Copy
2: Scale
3: Add
4: Triad
5: Average
6: Test All Options
Enter Your Choice: 5
Benchmark:
1: Integer
2: Floating Point
3: Test All Options
Enter Your Choice: 1
Would you like to save these test results (Y/n)? n
RAMspeed:
ramspeed [Type: Average - Benchmark: Integer]
Expected Trial Run Count: 1
Started Run 1 @ 15:14:22
Test Results:
3696.17
Average: 3696.17 MB/s
Flexible IO Tester – 23.27 секунды [Example Network Job] (fio is an advanced disk benchmark that depends upon the kernel’s AIO access library.) :
[root@server4 ~]# phoronix-test-suite benchmark fio
========================================
Test Configuration: Flexible IO Tester
========================================
Test:
1: Intel IOMeter File Server Access Pattern
2: Example Network Job
3: Test All Options
Enter Your Choice: 2
Would you like to save these test results (Y/n)? n
========================================
Estimated Run-Time: 1 Minute
========================================
Flexible IO Tester:
fio [Test: Example Network Job]
Estimated Test Run-Time: 1 Minute
Expected Trial Run Count: 1
Started Run 1 @ 15:10:25
Test Results:
23.27287197113
Average: 23.27 Seconds (Run Time)
SQLite – 25.15 секунд (This is a simple benchmark of SQLite. At present this test profile just measures the time to perform a pre-defined number of insertions on an indexed database.) :
[root@server4 ~]# phoronix-test-suite benchmark sqlite
========================================
Test Configuration: SQLite
========================================
Test Target:
1: Default Test Directory
2: /backup [/dev/sdb1]
3: Test All Options
Enter Your Choice: 1
Would you like to save these test results (Y/n)? n
SQLite:
sqlite [Test Target: Default Test Directory]
Expected Trial Run Count: 3
Started Run 1 @ 15:35:07
Started Run 2 @ 15:35:34
Started Run 3 @ 15:36:01
Test Results:
25.512656211853
24.810537099838
25.136831998825
Average: 25.15 Seconds
StressCPU2 Stress-Test – PASS (This test runs a series of GROMACS inner loops hand coded in assembly for speed and efficiency on SSE units. The short run lengths are only useful for heating up your CPU, for a proper test, use the 6 or 12 hour run length. This test will cause unstable hardware to stop responding and require a hard reboot.) :
[root@server4 ~]# phoronix-test-suite benchmark stresscpu2
==========================================
Test Configuration: StressCPU2 Stress-Test
==========================================
Run-Time:
1: 5 Minutes
2: 30 Minutes
3: 1 Hour
4: 6 Hours
5: 12 Hours
6: Test All Options
Enter Your Choice: 2
Would you like to save these test results (Y/n)? n
StressCPU2 Stress-Test:
stresscpu2 [Run-Time: 30 Minutes]
Expected Trial Run Count: 1
Started Run 1 @ 15:39:28
Final: PASS (Stress Test)
Еще по теме : bonnie++ – тестирование работы жесткого диска в реальных условия.
Настройка синхронизации времени с помощью ntp в CentOS
Настроить синхронизацию времени с time-сервером в ОС CentOS (да и в любом другом Linux-дистрибутиве), можно с помощью утилиты ntp. Для этого нужно выполнить несколько простых шагов :
-
Устанавливаем ntp
[root@server1 ~]# yum install ntp
-
В файле /etc/sysconfig/ntpd прописываем строку SYNC_HWCLOCK=yes
-
Запускаем демон ntp
[root@server1 ~]# /etc/init.d/ntpd start
-
Добавляем демон ntp в автозагрузку
[root@server1 ~]# chkconfig ntpd on
Статус синхронизации можно проверить через некоторое время с помощью утилиты ntpstat :
[root@server1 ~]# ntpstat synchronised to NTP server (213.179.228.1) at stratum 3 time correct to within 66 ms polling server every 128 s
Синхронизацию времени в ручном режиме (при невозможности запуска демона ntpd) можно произвести с помощью утилиты ntpdate :
[root@server1 ~]# ntpdate pool.ntp.org 13 Mar 23:58:40 ntpdate[18424]: adjust time server 62.149.0.30 offset -0.009561 sec
Теги: CentOS
Bonnie++ : тест производительности жесткого диска веб-сервера
Специально для тестирования производительности файловой системы создан пакет bonnie++. С помощью него можно протестировать жесткий диск в специфичных для веб-сервера условиях наличия большого количества небольших по размерам файлов, размещенных во множестве папок. bonnie++ можно найти в репозитории RPMforge.
[root@server01 ~]# yum install bonnie++ [root@server01 ~]# bonnie++ -n 5:5242880:2:100 -r 1024M -s 4096M -u root -d /home
Данная команда заставит bonnie++ протестировать файловую подсистему с использованием 4 ГБ файла и 5*1024 файлов с размерами от 2 байт до 5 МБ (5242880 байт), которые будут размещаться в ста папках. Тестирование завершается выводом на экран результатов :
Version 1.03 ------Sequential Output------ --Sequential Input- --Random-
-Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
server01 4G 78942 91 121977 18 112992 11 85521 99 5429842 100 +++++ +++
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files:max:min /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
5:5242880:2/100 41 18 26 1 361 7 42 19 27 1 567 13
Для файла, размером 4 ГБ, данные результаты свидетельствуют о том, что :
-
побайтовое заполнение происходило со скоростью 78942 КБ/с, на что было в общем затрачено 91% ресурса одного процессорного ядра;
-
запись блоками по 8 КБ происходила со скоростью 121977 КБ/с, на что затрачено 18% ресурса одного ядра;
-
скорость перезаписи каждого блока выполнялась со скоростью 112992 КБ/с при загрузке ядра на 18%;
-
побайтовое чтение происходило со скоростью 85521 КБ/с, загрузка ядра – 99%;
-
чтение файла блоками по 8 КБ происходило со скоростью 5429842 КБ/с с загрузкой ядра 100%;
-
тест случайного чтения из файла завершился менее, чем за одну секунду, поэтому bonnie++ считает такой результат некорректным и отображает +++ вместо чисел.
Для теста 5*1024 файлов размерами от 2 байт до 5 МБ в ста папках результаты говорят о следующем :
-
последовательное создание файлов происходило со скоростью 41 файл/с (загрузка ЦП 18%), чтение – со скоростью в 26 файлов/с (загрузка ЦП 1%), удаление – 361 файлов/с (загрузка ЦП 7%);
-
случайное создание файлов было выполнено со скоростью 42 файла/с (загрузка ЦП 19%), чтение – 27 файлов/с (загрузка ЦП 1%), удаление – 567 файлов/с (загрузка ЦП 13%).
Такие результаты были получены при тестировании двух жестких дисков WD VelociRaptor WD1500HLFS 150GB, работающих в аппаратном RAID1.
Dual-Master Replication в MySQL : настройка MySQL кластера из двух узлов
Данный пример демонстрирует запуск MySQL кластера уз двух узлов на платформе Linux (запуск на других платформах мало чем отличается, хотя испытан не был). На каждом узле кластера база данных доступна в режиме чтения-записи, что позволяет выполнять как INSERT, так и SELECT запросы на двух узлах одновременно. Синхронизацию всех запросов MySQL берет на себя. Даже если один из узлов временно недоступен, после его появления в сети MySQL автоматически синхронизирует все данные.
Предполагается, что на узлах уже установлены клиентская (MySQL-client-community) и серверная (MySQL-server-community) части MySQL. Базы данных находятся в каталоге /var/lib/mysql/. Пример успешно использован для CentOS 5.4 и MySQL 5.1.42.
Пускай первый узел будет называться node1 (IP 192.168.0.101), а второй узел – node2 (IP 192.168.0.201). В данном примере dual-master репликация будет работать для баз данных с именами testdb1 и testdb2. Предполагается, что для баз данных уже созданы основные пользователи.
С помощью MySQL-клиента на node1 добавляем нового пользователя repluser с правами на репликацию (предполагается, что пароль pwd будет изменен) :
GRANT REPLICATION SLAVE ON *.* TO ‘repluser’@'192.168.0.201′ IDENTIFIED BY ‘pwd’;
То же самое нужно сделать на node2 :
GRANT REPLICATION SLAVE ON *.* TO ‘repluser’@'192.168.0.101′ IDENTIFIED BY ‘pwd’;
После этого сеанс MySQL-клиента можно завершить и приняться за правку конфигурационного файла MySQL (обычно, это my.ini).
На node1 добавляем в секцию [mysqld] следующие строки :
server-id = 1 log-bin = /var/lib/mysql/bin.log log-slave-updates log-bin-index = /var/lib/mysql/log-bin.index log-error = /var/lib/mysql/error.log relay-log = /var/lib/mysql/relay.log relay-log-info-file = /var/lib/mysql/relay-log.info relay-log-index = /var/lib/mysql/relay-log.index auto_increment_increment = 2 auto_increment_offset = 1 master-host = 192.168.0.201 master-user = repluser master-password = pwd replicate-do-db = testdb1 replicate-do-db = testdb2
На node2 выполняем аналогичные действия :
server-id = 2 log-bin = /var/lib/mysql/bin.log log-slave-updates log-bin-index = /var/lib/mysql/log-bin.index log-error = /var/lib/mysql/error.log relay-log = /var/lib/mysql/relay.log relay-log-info-file = /var/lib/mysql/relay-log.info relay-log-index = /var/lib/mysql/relay-log.index auto_increment_increment = 2 auto_increment_offset = 2 master-host = 192.168.0.101 master-user = repluser master-password = pwd replicate-do-db = testdb1 replicate-do-db = testdb2
После сохранения конфигурационных файлов, на обоих узлах следует перезапустить MySQL-сервер :
[root@server01 ~]# service mysql restart
Если все настроено правильно, то при запуске в MySQL клиенте команды
SHOW SLAVE STATUS\G
на любом из узлов в строке Slave_IO_State должно быть написано
Waiting for master to send event
Теперь кластер можно использовать, например, для построения разделенного на нескольких серверах веб-сайта или других задач распределения базы данных в режиме dual-master.
Если данные не реплицируются или произошла серьезная ошибка в работе кластера, следующий код можно использовать для повторного запуска MySQL в режиме dual-primary (выполнять нужно на обоих узлах) :
[root@server01 ~]# service mysql stop [root@server01 ~]# cd /var/lib/mysql/ [root@server01 ~]# rm bin.00000* error.log log-bin.index master.info relay* [root@server01 ~]# service mysql start
Kickstart с флешки : автоматическая установка CentOS
Установщик CentOS автоматически создает файл /root/anaconda-ks.cfg, который содержит абсолютно всю информацию о выбранных пакетах и настройках установки текущей ОС. Это позволяет производить автоматическую установку системы, абсолютно идентичную данной. Данный файл может значительно сэкономить время по сравнению с ручной установкой, ведь вам не нужно снова и снова выбирать пакеты, прописывать настройки сети, часового пояса и другие настройки.
Kickstart можно использовать с обыкновенной флешкой. Для этого нужно скопировать anaconda-ks.cfg с уже установленной системы, предварительно смонтировав флешку,
root@server01 [~]# mount /dev/sdc1 /media root@server01 [~]# cp /root/anaconda-ks.cfg /media/ks.cfg
и запустить установку CentOS с такими опциями :
linux ks=hd:sdc1:/ks.cfg
Приведенный ниже пример ks.cfg производит автоматическую установку CentOS с локального DVD-диска, автоматически настраивает два сетевых устройства, уничтожает все существующие разделы жесткого диска и автоматически их разбивает, автоматически устанавливает нужные пакеты, задает пароль супер-пользователя – в общем, делает полное клонирование уже установленной системы. Это может пригодиться тогда, когда нужно установить абсолютно одинаковые системы на несколько одинаковых компьютеров.
# Kickstart file automatically generated by anaconda. install cdrom lang en_US.UTF-8 keyboard us network --device eth0 --bootproto static --ip 192.168.1.101 --netmask 255.255.255.0 --gateway 192.168.1.1 --nameserver 192.168.1.1 --hostname server01 network --device eth1 --bootproto static --ip 192.168.1.102 --netmask 255.255.255.0 --gateway 192.168.1.1 --nameserver 192.168.1.1 --hostname server01 rootpw --iscrypted $1$iif9Y4oM$G/DN9UWMZqmzsI/8F33xn. firewall --enabled --port=22:tcp authconfig --enableshadow --enablemd5 selinux --enforcing timezone --utc Europe/Kiev bootloader --location=mbr --driveorder=sda,sdb,sdc # The following is the partition information you requested # Note that any partitions you deleted are not expressed # here so unless you clear all partitions first, this is # not guaranteed to work clearpart --linux part /boot --fstype ext3 --size=200 --ondisk=sda part /backup --fstype ext3 --size=300000 --ondisk=sdb part / --fstype ext3 --size=30000 --ondisk=sda part /var --fstype ext3 --size=15000 --ondisk=sda part /usr --fstype ext3 --size=12000 --ondisk=sda part swap --size=6000 --ondisk=sda part /tmp --fstype ext3 --size=6000 --ondisk=sda part /storage --fstype ext3 --size=100 --grow --ondisk=sdb part /home --fstype ext3 --size=100 --grow --ondisk=sda %packages @base @core @editors @legacy-software-support @system-tools @text-internet keyutils dmraid-events-logwatch trousers fipscheck x86info device-mapper-multipath cpufreq-utils fuse-libs fuse vim-X11 openssl097a arpwatch am-utils mrtg net-snmp-utils mc sysstat iptraf lynx -nss_db -nss_ldap -pam_pkcs11 -krb5-workstation -ksh -lftp -aspell-en -words -aspell -numactl -fbset -vconfig -libaio -ftp -finger -sendmail -conman -pcmciautils -redhat-lsb -pam_ccreds -pam_smb -sos -pkinit-nss -specspo -rsh -ipsec-tools -rp-pppoe -unix2dos -pam_krb5 -irda-utils -pam_passwdqc -amtu -pax -oddjob -setarch -bluez-utils -talk -vnc -openldap-clients -samba-client -bluez-hcidump -bluez-gnome -slrn -fetchmail -mutt -elinks -cadaver
При желании, в ks.cfg можно подправить, например, IP-адреса или сохранить несколько копий kickstart-конфигураций для разных компьютеров.
Подробности про kickstart можно найти на официальном сайте помощи Red Hat.
Теги: CentOS