Пример практического решения.
Появилась необходимость в создании большого хранилища + шифрование truecrypt.
При условии полного отсутствия опыта создания, программного RAID под Linux.
Выделены некоторые средства, которые, было, решено потратить на закупку HDD, т.к. часть комплектующих уже есть.
Будем экономить на RAID контроллере - строим программный RAID6 из того, что есть + докупаем необходимое.
Комплектующие:Корпус - CoolerMaster STC-T01-UWK CMStalker Black
Материнская плата - Gigabyte GA-G41M-ES2L Socket775 <iG41> 2xDDR2, SATA-II
Процессор - Intel Core 2 Duo E8200 2.66 ГГц/ 6Мб/ 1333ГГц LGA775
Память - 2 x OCZ DDR2 PC2-6400 1Gb
Системный HDD - Maxtor 160 Gb Ultra-ATA-100 <3160215AS> 7200rpm 2Mb
БП - Corsair "TX95W" CMPSU-950TXEU
Крзина для HDD - 2 x CoolerMaster STB-3T4-E1 4-in-3
Крзина для HDD - CoolerMaster STB-3T4-E3-GP
Контроллер - 2 x SATA STLabA-214 (PCI)
HDD для RAID6 - 6 x WD Caviar Green WD20EARS + 5 x WD Caviar Green WD20EURS
Сборка:Установка сервера:- собственно установка Ubuntu Server x64 10.02LTS
- в прцессе установки ставим SSH
- русификация консоли
# apt-get install console-cyrillic
- что б небыло кракозябров
- обновление
# apt-get update
# apt-get upgrade
- установка mc
# apt-get install mc
- настройка сети
# nano /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
#Моя проводная сеть
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
gateway 192.168.0.254
network 192.168.0.0
broadcast 192.168.0.255
# /etc/init.d/networking restart
- настройка SSH
- доступ по SSH только пользователям группы sshlogin
- создать группу sshlogin
# addgroup sshlogin
- добавить serveruser в sshlogin
# adduser serveruser sshlogin
- добавить sshlogin в переменную AllowGroups
# nano /etc/ssh/sshd_config
-перезапуск SSH:
# /etc/init.d/ssh restart
- установить:
# apt-get install hdparm
проверить скорость чтения можно командой:
hdparm -t /dev/sdb
# apt-get install hddtemp
- узнать температуру жесткого диска командой:
# hddtemp /dev/sda
# apt-get install smartmontools
- узнать информацию о HDD
# smartctl -i /dev/sdb
- узнать SMART информацию о HDD
# smartctl -a /dev/sdb
- узнать Load_Cycle_Count информацию о HDD
# smartctl -a /dev/sdb | grep Load_Cycle_Count
# apt-get install hwinfo
- узнать краткую информацию о системе
# hwinfo --short
# apt-get install lm-sensors
для настройки lm-sensors запускаем после установки:
# sensors-detect
отвечаем на все вопросы утвердительно.
- узнать температуру процессора, чипсета и других характеристик
# sensors
- установить screen
- screen даёт возможность подключаться и отключаться от удаленных хостов, сохраняя терминальные сессии.
# apt-get install screen
Отсоединиться от текущего скрина, не закрывая и не завершая сессии, можно комбинацией Ctrl-a d.
Если на машине уже есть запущенная screen-сессия, и вы хотите подсоединиться к ней, то если сессия одна, достаточно просто команды:
# screen -x
если сессий несколько, то посмотреть список запущенных screen’ов можно командой:
# screen -ls
Придумываем название, затем запускаем новый screen вот таким образом:
# screen -S "job1"
сможем подсоединиться к сессии job1, просто указав ее имя:
# screen -x job1
Ctrl – a c, и откроется еще один шелл.
Перемещаться между открытыми шеллами можно либо через Ctrl – a <Цифра>, где <Цифра> – номер открытого шелла, начиная с нуля
Ctrl – a n/Ctrl – a p – вперед назад.
Конфигурируется screen с помощью файла ~/.screenrc, в вашем домашнем каталоге:
caption always "%{= 45}%{+b w}Screen: %n | %h %=%t %c"
hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<"
Для того, чтобы получить все время видимый список открытых окон, и другую полезную информацию внизу экрана.
- установить mdadm
# apt-get install mdadm
- запустить создание RAID6 (11 HDD -> Raid6 -> 2600min
# mdadm --create --verbose /dev/md0 --level=6 --raid-devices=11 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1 /dev/sdj1 /dev/sdk1 /dev/sdl1
проверяем текущее состояние дисков RAID
# mdadm -D /dev/md0
проверяем текущее состояние RAID
# cat /proc/mdstat
- внести информацию о RAID6 в mdadm.conf
изменяем файл конфигурации (/etc/mdadm/mdadm.conf) нашего RAID
просмотр информации о RAID
# mdadm --detail --scan --verbose
- запись информации о RAID в конфигурационный файл
# mdadm --detail --scan --verbose | awk '/ARRAY/ {print}' >> /etc/mdadm/mdadm.conf
- Создаём раздел на /dev/md0
# parted /dev/md0
(parted) mktable gpt
(parted) mkpart primary 0 18004G
(parted) quit
- Создаём файловую систему на /dev/md0p1
# mkfs.xfs /dev/md0p1
- установить samba smbclient smbfs
# apt-get install samba smbclient smbfs
-настройка samba
Нерешённые вопросы:1. Какое отношение имет "Partition 1 does not start on physical sector boundary" к md0, если md0 - программный RAID6.
Вывод
fdisk -l...
Диск /dev/md0: 18003.6 ГБ, 18003589005312 байт
255 heads, 63 sectors/track, 2188811 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 65536 bytes / 589824 bytes
Disk identifier: 0x00000000
Устр-во Загр Начало Конец Блоки Id Система
/dev/md0p1 1 267350 2147483647+ ee GPT
Partition 1 does not start on physical sector boundary.
2. Что ещё за: unknown, ignored
Вывод
mdadm -D /dev/md0mdadm: metadata format 00.90 unknown, ignored.
...
3. Не настроен PowerCom UPS 2000VA IMD-2000AP