Компания, в которой я работаю арендует физический сервер в Nic.ru, когда я пришел работу в эту компанию много всего было сделано ну не пойми, как, даже, вот эта аренда. Зачем арендовать физический сервер, если проще VPS
систему с такими же характеристиками + есть возможность модернизации, а сейчас этого достичь на боевое использование увы сильно затруднительно.
Текущий арендуемый физический сервер за XXXX.XX
Аренда и размещение Оборудования в дата-центре СДН: Supermicro 5017C-MTF, CPU Xeon E3-1240v2 3.4GHz, RAM 8Gb, SATA 1Tb x 2, RAID
На нем организован RAID 1
и установлена ось Ubuntu 18.04 Server
, а дальше сперва моими силами развернут и настроен Bitrix
для основного сайта, потом отдано подрядчикам, а потом опять мне + подрядчики. Дурдом.
Моя задача: посмотреть, какой RAID
контроллер используется на оборудовании и какую информацию из Ubuntu 18.04 Server
я могу по нему выделить, дабы после поставить на мониторинг с целью заблаговременного узнавания и написания в поддержку, какой диск нужно заменить.
Шаг №1:
Сперва узнал у поддержки какой RAID
контроллер используется:
Ubuntu 18.04 Raid Adaptec 6405
Шаг №2:
Потом узнал, как видит система RAID
-контроллер:
RAID контроллер у нас: Raid Adaptec 6405
ekzorchik@srv-server1:~$ lspci | egrep -i 'raid|adaptec' 01:00.0 RAID bus controller: Adaptec Series 6 - 6G SAS/PCIe 2 (rev 01) ekzorchik@srv-server1:~$ cat /proc/scsi/scsi Attached devices: Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: Adaptec Model: sys Rev: V1.0 Type: Direct-Access ANSI SCSI revision: 02 Host: scsi0 Channel: 01 Id: 00 Lun: 00 Vendor: Hitachi Model: HUA722010CLA630 Rev: JP4O Type: Direct-Access ANSI SCSI revision: 05 Host: scsi0 Channel: 01 Id: 01 Lun: 00 Vendor: Hitachi Model: HUA722010CLA330 Rev: JP4O Type: Direct-Access ANSI SCSI revision: 05 ekzorchik@srv-server1:~$ ekzorchik@srv-server1:~$ lspci -nn 00:00.0 Host bridge [0600]: Intel Corporation Xeon E3-1200 v3 Processor DRAM Controller [8086:0c08] (rev 06) 00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller [8086:0c01] (rev 06) 00:14.0 USB controller [0c03]: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI [8086:8c31] (rev 05) 00:16.0 Communication controller [0780]: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 [8086:8c3a] (rev 04) 00:16.1 Communication controller [0780]: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #2 [8086:8c3b] (rev 04) 00:1a.0 USB controller [0c03]: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 [8086:8c2d] (rev 05) 00:1c.0 PCI bridge [0604]: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 [8086:8c10] (rev d5) 00:1c.2 PCI bridge [0604]: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 [8086:8c14] (rev d5) 00:1c.3 PCI bridge [0604]: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 [8086:8c16] (rev d5) 00:1d.0 USB controller [0c03]: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 [8086:8c26] (rev 05) 00:1f.0 ISA bridge [0601]: Intel Corporation C226 Series Chipset Family Server Advanced SKU LPC Controller [8086:8c56] (rev 05) 00:1f.3 SMBus [0c05]: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller [8086:8c22] (rev 05) 00:1f.6 Signal processing controller [1180]: Intel Corporation 8 Series Chipset Family Thermal Management Controller [8086:8c24] (rev 05) 01:00.0 RAID bus controller [0104]: Adaptec Series 6 - 6G SAS/PCIe 2 [9005:028b] (rev 01) 02:00.0 PCI bridge [0604]: ASPEED Technology, Inc. AST1150 PCI-to-PCI Bridge [1a03:1150] (rev 03) 03:00.0 VGA compatible controller [0300]: ASPEED Technology, Inc. ASPEED Graphics Family [1a03:2000] (rev 30) 04:00.0 Ethernet controller [0200]: Intel Corporation I210 Gigabit Network Connection [8086:1533] (rev 03) 05:00.0 Ethernet controller [0200]: Intel Corporation I210 Gigabit Network Connection [8086:1533] (rev 03)
Шаг №3:
Поиск информации вывел меня что можно установить утилиту для мониторинга дисков под Adaptec AACRaid
контролером: arcconf
, утилиты aacraid-status, afacli, aaccli:
ekzorchik@srv-server1:~$ ekzorchik@srv-server1:~$ sudo apt-get install daemon ekzorchik@srv-server1:~$ wget https://hwraid.le-vert.net/ubuntu/pool-bionic/arcconf-2.02/arcconf_2.02.22404-1%2BUbuntu.bionic.18.04_amd64.deb ekzorchik@srv-server1:~$ sudo dpkg -i arcconf_2.02.22404-1+Ubuntu.bionic.18.04_amd64.deb ekzorchik@srv-server1:~$ wget https://hwraid.le-vert.net/ubuntu/pool-bionic/aacraid-status/aacraid-status_0.24%2BUbuntu.bionic.18.04_all.deb ekzorchik@srv-server1:~$ sudo dpkg -i aacraid-status_0.24+Ubuntu.bionic.18.04_all.deb
Шаг №4:
Посредством утилиты aacraid
вывожу на консоль информацию по RAID'у
который используется и каков статус задействованных дисков:
ekzorchik@srv-server1:~$ sudo aacraid-status -- Controller informations -- -- ID | Model | Status c0 | Adaptec 6405 | Optimal -- Arrays informations -- -- ID | Type | Size | Status | Task | Progress c0u0 | RAID1 | 953G | Optimal -- Disks informations -- ID | Model | Status c0u0d0 | Hitachi HUA722010CLA630 JPW9M0N20Z333E | Online c0u0d0 | Hitachi HUA722010CLA330 JPW9J0N20W0H4C | Online ekzorchik@srv-server1:~$
Шаг №5:
Отобразить необходимую информацию о статусе батарее, логических и физических дисках:
ekzorchik@srv-server1:~$ sudo arcconf GETCONFIG 1 Controllers found: 1 ---------------------------------------------------------------------- Controller information ---------------------------------------------------------------------- Controller Status : Optimal Channel description : SAS/SATA Controller Model : Adaptec 6405 Controller Serial Number : 4B30137B86B Controller World Wide Name : 50000D11086E1180 Controller Alarm : Enabled Physical Slot : 16 Temperature : 57 C/ 134 F (Normal) Installed memory : 512 MB Global task priority : High Performance Mode : Default/Dynamic Host bus type : PCIe Host bus speed : 5000 MHz Host bus link width : 8 bit(s)/link(s) PCI Device ID : 651 Stayawake period : Disabled Spinup limit internal drives : 0 Spinup limit external drives : 0 Defunct disk drive count : 0 Logical devices/Failed/Degraded : 1/0/0 NCQ status : Enabled Statistics data collection mode : Enabled -------------------------------------------------------- RAID Properties -------------------------------------------------------- Copyback : Disabled Automatic Failover : Enabled Background consistency check : Disabled Background consistency check period : 30 -------------------------------------------------------- Controller Version Information -------------------------------------------------------- BIOS : 5.2-0 (19176) Firmware : 5.2-0 (19176) Driver : 1.2-1 (50877) Boot Flash : 5.2-0 (19176) SEEPROM (Load version/ Flash version) : 2/ 8 -------------------------------------------------------- Controller ZMM Information -------------------------------------------------------- Status : ZMM Optimal ---------------------------------------------------------------------- Logical device information ---------------------------------------------------------------------- Logical Device number 0 Logical Device name : sys Block Size of member drives : 512 Bytes RAID level : 1 Unique Identifier : B0C2A030 Status of Logical Device : Optimal Additional details : Quick initialized Size : 953334 MB Parity space : 953344 MB Interface Type : Serial ATA Device Type : HDD Read-cache setting : Enabled Read-cache status : On Write-cache setting : Enabled Write-cache status : On Partitioned : Yes Protected by Hot-Spare : No Bootable : Yes Failed stripes : No Power settings : Disabled -------------------------------------------------------- Logical Device segment information -------------------------------------------------------- Segment 0 : Present (953869MB, SATA, HDD, Connector:0, Device:0) JPW9M0N20Z333E Segment 1 : Present (953869MB, SATA, HDD, Connector:0, Device:1) JPW9J0N20W0H4C ---------------------------------------------------------------------- Physical Device information ---------------------------------------------------------------------- Device #0 Device is a Hard drive State : Online Block Size : 512 Bytes Supported : Yes Transfer Speed : SATA 6.0 Gb/s Reported Channel,Device(T:L) : 0,0(0:0) Reported Location : Connector 0, Device 0 Vendor : Hitachi Model : HUA722010CLA630 Firmware : JP4OA55B Serial number : JPW9M0N20Z333E World-wide name : 5000CCA3A8CDAEC5 Reserved Size : 538264 KB Used Size : 953344 MB Unused Size : 64 KB Total Size : 953869 MB Write Cache : Enabled (write-back) FRU : None S.M.A.R.T. : No S.M.A.R.T. warnings : 0 Power State : Full rpm Supported Power States : Full rpm,Powered off,Reduced rpm SSD : No Temperature : Not Supported NCQ status : Enabled ---------------------------------------------------------------- Device Phy Information ---------------------------------------------------------------- Phy #0 PHY Identifier : 0 SAS Address : 3000000000000003 Attached PHY Identifier : 3 Attached SAS Address : 50000D11086E1180 Device #1 Device is a Hard drive State : Online Block Size : 512 Bytes Supported : Yes Transfer Speed : SATA 3.0 Gb/s Reported Channel,Device(T:L) : 0,1(1:0) Reported Location : Connector 0, Device 1 Vendor : Hitachi Model : HUA722010CLA330 Firmware : JP4OA3EA Serial number : JPW9J0N20W0H4C World-wide name : 5000CCA3A8CC47DA Reserved Size : 538264 KB Used Size : 953344 MB Unused Size : 64 KB Total Size : 953869 MB Write Cache : Enabled (write-back) FRU : None S.M.A.R.T. : No S.M.A.R.T. warnings : 0 Power State : Full rpm Supported Power States : Full rpm,Powered off,Reduced rpm SSD : No Temperature : Not Supported NCQ status : Enabled ---------------------------------------------------------------- Device Phy Information ---------------------------------------------------------------- Phy #0 PHY Identifier : 0 SAS Address : 3000000000000002 Attached PHY Identifier : 2 Attached SAS Address : 50000D11086E1180 ---------------------------------------------------------------------- Connector information ---------------------------------------------------------------------- Connector #0 Connector Name : CN0 ------------------------------------------------------------------- Lane Information ------------------------------------------------------------------- Lane #0 Channel ID : 0 Device ID : 0 SAS Address : 50000D11086E1180 PHY Identifier : 3 ---------------------------------------------------------------- Lane SAS Phy Information ---------------------------------------------------------------- No SAS Phy information available for lane #0 Lane #1 Channel ID : 0 Device ID : 1 SAS Address : 50000D11086E1180 PHY Identifier : 2 ---------------------------------------------------------------- Lane SAS Phy Information ---------------------------------------------------------------- No SAS Phy information available for lane #1 Lane #2 Channel ID : 0 Device ID : 2 SAS Address : 50000D11086E1180 PHY Identifier : 1 ---------------------------------------------------------------- Lane SAS Phy Information ---------------------------------------------------------------- No SAS Phy information available for lane #2 Lane #3 Channel ID : 0 Device ID : 3 SAS Address : 50000D11086E1180 PHY Identifier : 0 ---------------------------------------------------------------- Lane SAS Phy Information ---------------------------------------------------------------- No SAS Phy information available for lane #3 Command completed successfully. ekzorchik@srv-server1:~$
Шаг №6:
На просторах интернета был найден скрипт сначала мы сохраняем всю информацию о здоровье контроллера в файл /tmp/aacraid.log
. Далее вытаскиваем значение статуса контроллера, батареи, логических и физических дисков. В функции get_status
перебираются все полученные значения и сравниваются со статусами Optimal и Online.
Если значения отличны от нормальных, значит есть проблема и число ошибок растет. Если скрипт запустить без аргументов, то мы получим число ошибок, если добавить аргумент log
– узнаем с чем именно у нас проблемы.
ekzorchik@srv-server1:~$ nano aacraid.sh #!/bin/bash ERROR_COUNT=0 LOG="/tmp/aacraid.log" arcconf GETCONFIG 1 > $LOG if [ "$?" -ne "0" ] then ERROR_STR="Cannot write to log" let "ERROR_COUNT += 1" fi CONTROLLER=`cat $LOG | grep -E 'Controller Status' | awk '{ print $4 }'` BATTERY=`cat $LOG | grep -A 2 'Controller Battery Information' | grep Status | awk '{print $3}'` LOGICAL_DEVICE=`cat $LOG | grep -E 'Status of logical device' | awk '{print $6}'` PHISICAL_DEVICE=`cat $LOG | grep -A 2 -E 'Device #[0-9]' | grep State | awk '{print $3}'` get_status() { while read line ; do if [ -n "$line" ] then if [ "$line" = "Optimal" ] || [ "$line" = "Online" ] then echo "Test result is OK" > /dev/null else #echo "Test result is FAIL" ERROR_STR="Some poblem with ACC-raid. Please check $LOG file " let "ERROR_COUNT += 1" fi fi done <<< "$1" } get_status "${CONTROLLER}" get_status "${BATTERY}" get_status "${LOGICAL_DEVICE}" get_status "${PHISICAL_DEVICE}" if [ -n "$1" ] && [ "$1" = "log" ] then echo ${ERROR_STR} echo "Controller Status is ${CONTROLLER}" echo "Controller Battery Status is ${BATTERY}" echo "Status of LDs are ${LOGICAL_DEVICE}" echo "Status of PDs are:" && cat $LOG | grep -A 2 -E 'Device #[0-9]' else echo ${ERROR_COUNT} fi ekzorchik@srv-server1:~$ chmod +x aacraid.sh ekzorchik@srv-server1:~$ sudo ./aacraid.sh 0 ekzorchik@srv-server1:~$ ekzorchik@srv-server1:~$ sudo ./aacraid.sh log Controller Status is Optimal Controller Battery Status is Status of LDs are Status of PDs are: Device #0 Device is a Hard drive State : Online -- Device #1 Device is a Hard drive State : Online ekzorchik@srv-server1:~$
Шаг №7:
Статус RAID
и дисков можно проверять и через утилиту smartctl:
ekzorchik@srv-server1:~$ ls -l /dev/sg* crw-rw---- 1 root disk 21, 0 Jun 7 15:12 /dev/sg0 crw-rw---- 1 root disk 21, 1 Jun 7 15:12 /dev/sg1 crw-rw---- 1 root disk 21, 2 Jun 7 15:12 /dev/sg2 ekzorchik@srv-server1:~$ sudo smartctl -a /dev/sg0 smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.15.0-45-generic] (local build) Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Vendor: Adaptec Product: sys Revision: V1.0 User Capacity: 999,643,152,384 bytes [999 GB] Logical block size: 512 bytes Rotation Rate: 22065 rpm Logical Unit id: 0x30a0c2b000d00000 Serial number: B0C2A030 Device type: disk Local Time is: Tue Sep 19 13:11:08 2023 MSK SMART support is: Available - device has SMART capability. SMART support is: Enabled Temperature Warning: Disabled or Not Supported === START OF READ SMART DATA SECTION === SMART Health Status: OK Current Drive Temperature: 0 C Drive Trip Temperature: 0 C Error Counter logging not supported Device does not support Self Test logging ekzorchik@srv-server1:~$ sudo smartctl -a /dev/sg1 smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.15.0-45-generic] (local build) Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Vendor: Hitachi Product: HUA722010CLA630 Revision: JP4O User Capacity: 1,000,204,886,016 bytes [1.00 TB] Logical block size: 512 bytes Rotation Rate: 7200 rpm Form Factor: 3.5 inches Logical Unit id: 0x5000cca3a8cdaec5 Serial number: JPW9M0N20Z333E Device type: disk Local Time is: Tue Sep 19 13:11:13 2023 MSK SMART support is: Available - device has SMART capability. SMART support is: Enabled Temperature Warning: Disabled or Not Supported === START OF READ SMART DATA SECTION === SMART Health Status: OK Current Drive Temperature: <not available> Drive Trip Temperature: 0 C Error Counter logging not supported Device does not support Self Test logging ekzorchik@srv-server1:~$ sudo smartctl -a /dev/sg2 smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.15.0-45-generic] (local build) Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Vendor: Hitachi Product: HUA722010CLA330 Revision: JP4O User Capacity: 1,000,204,886,016 bytes [1.00 TB] Logical block size: 512 bytes Rotation Rate: 7200 rpm Form Factor: 3.5 inches Logical Unit id: 0x5000cca3a8cc47da Serial number: JPW9J0N20W0H4C Device type: disk Local Time is: Tue Sep 19 13:11:17 2023 MSK SMART support is: Available - device has SMART capability. SMART support is: Enabled Temperature Warning: Disabled or Not Supported === START OF READ SMART DATA SECTION === SMART Health Status: OK Current Drive Temperature: <not available> Drive Trip Temperature: 0 C Error Counter logging not supported Device does not support Self Test logging ekzorchik@srv-server1:~$
Итого, что получается, купить физический сервер и получить чуть больше геморроя — это в данной компании запросто. Почему геморроя? А все потому, что, если вылетел жесткий диск, нужно писать в поддержку, а когда они отправят инженера в ЦОД дабы он поменял диск, потом по идее RAID
должен отребилдится, а если нет. Все завязано на инженеров не в зоне ответственности системного администратора.
Но я добьюсь чтобы избавились от физического в пользу виртуального, да и разнести основной сайт на текущем сервере и подрегионы также нужно, а то все яйца в одной корзине, неправильно это.
На этом заметка для самого себя успешно завершена, с уважением автор блога Олло Александр aka ekzorchik.