Добавление поддержки AHCI в initramfs Centos 7

Итак, последовательность действий:
1. Подгружаем модуль:
#modprobe ahci
2. Оставляем копию на всякий случай:
#cp /boot/initramfs-`uname -r`.img /boot/initramfs-`uname -r`.img.bak
3. Собираем:
#mkinitrd -f --with=ahci /boot/initramfs-`uname -r`.img `uname -r`
4. Проверяем:
#lsinitrd /boot/initramfs-3.10.0-514.el7.x86_64.img | grep ahci
Arguments: -f --add-drivers ' ahci'
-rw-r--r--   1 root     root        68437 Nov 22  2016 usr/lib/modules/3.10.0-514.el7.x86_64/kernel/drivers/ata/ahci.ko
-rw-r--r--   1 root     root        53245 Nov 22  2016 usr/lib/modules/3.10.0-514.el7.x86_64/kernel/drivers/ata/libahci.ko
 

Centos 7 NTPD не стартует при загрузке

Centos 7 NTPD не стартует при загрузке
В этом случае естесственно полагаю у вас включен в автозагрузку демон ntpd, т.е.
#systemctl list-unit-files | grep -i ntpd.service
ntpd.service enabled
Но всё равно при рестарте системы, ntpd демон не стартует.
Оказывается, если у вас стоит сервис chronyd.service в статусе enabled, тогда ntpd не будет стартовать автоматически.
Что делаем:
#systemctl list-unit-files | grep -i chrony
chrony-dnssrv@.service static
chrony-wait.service disabled
chronyd.service enabled
chrony-dnssrv@.timer disabled
Ага, демон chronyd.service в статусе enabled. Выключаем:
#systemctl disable chronyd.service
Перезагружаем систему и радуемся.

 

ddf1_Raid1 failed или как затереть метаданные md raid

При установке CentOS столкнулся с проблемой, когда не собрался raid из дисков, которые раньше были в составе рейд массива. Т.е. на дисках осталась метаинформация о raid и система на захотела устанавливаться.

Пытался удалить метаинформацию командой:

#dmraid -r -E /dev/sda

Но исполнение команды вылетело в ошибку.

Известно, что метаданные RAID хранятся в самом конце диска, и форматированием их убить невозможно. Помогает забить нулями конец диска, для этого используем число seek - сколько блоков пропустить от начала диска, оно зависит от размера диска, можно и совсем не указывать, но тогда придется ждать очень долго.

Итого, чтобы затереть метаданные массива и затереть mbr (главную загрузочную запись) выполняем:

#dd if=/dev/zero of=/dev/sda bs=1k count=1; dd if=/dev/zero of=dev/sda bs=1k seek=$((`fdisk -s /dev/sda` - 2))

где count=n - сколько блоков, seek=n - сколько блоков пропустить от начала, bs=n — размер блока.

 

Также можно попробовать следуущее:

1. Смотрим вывод по дискам:

# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 111.8G 0 disk
├─sda1 8:1 0 512M 0 part
│ └─md0 9:0 0 512M 0 raid1 /boot
└─sda2 8:2 0 111.3G 0 part
└─md1 9:1 0 111.2G 0 raid1 /
sdb 8:16 0 2.7T 0 disk
└─sdb1 8:17 0 2.7T 0 part /mnt/1
sdc 8:32 0 3.7T 0 disk
├─sdc1 8:33 0 300M 0 part
├─sdc2 8:34 0 2T 0 part
└─ddf1_r10 253:0 0 3.7T 0 dmraid
├─ddf1_r10p1 253:1 0 300M 0 part
└─ddf1_r10p2 253:2 0 2T 0 part

Ага, видим что sdc диск связан с raid массивом. Удаляем метаинформацию:

# dmsetup remove /dev/mapper/ddf1_r10*

 

Обновление/замена Perl в Centos из исходников

 Установка/замена Perl в Centos из исходников

1. Скачаиваем source

wget http://www.cpan.org/src/5.0/perl-5.14.2.tar.gz

2. Распаковываем

tar -xf perl-5.14.2.tar.gz
cd perl-5.14.2

3. Если не установлены make и gcc, то ставим их

yum -y install make

yum -y install gcc

4. Указываем где будет home

./Configure -des -Dprefix=/opt/perl5/perls/perl5.14.2

5. Собираем

make
make test
make install

6. Создаем симлинк на наш новый perl

rm /usr/bin/perl

ln -s /opt/perl5/perls/perl5.14.2/bin/perl /usr/bin/perl

[root@ext2 libexec]# perl -v

This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux

Copyright 1987-2011, Larry Wall

7. Ставим заново неоходимые модули. 

Кластер Pacemaker+Corosync+HAProxy+Nginx

Для построения кластера высокой доступности, т.е. high availability, будем использовать PacemakerPacemaker - менеджер ресурсов кластера (Cluster Resource Manager), задачей которого является достижение максимальной доступности управляемых им ресурсов и защита их от сбоев как на уровне самих ресурсов, так и на уровне целых узлов кластера. Архитектура pacemaker состоит из трех уровней: 

  1. Кластеронезависимый уровень - на этом уровне располагаются сами ресурсы и их скрипты, которыми они управляются и локальный демон, который скрывает от других уровней различия в стандартах, использованных в скриптах (на рисунке зеленый).

  2. Менеджер ресурсов (Pacemaker), который предстовляет из себя мозг. Он реагирует на события, происходящие в кластере: отказ или присоединение узлов, ресурсов, переход узлов в сервисный режим и другие административные действия. Pacemaker исходя из сложившейся ситуации делает расчет наиболее оптимального состояния кластера и дает команды на выполнения действий для достижения этого состояния (остановка/перенос ресурсов или узлов). На рисунке обозначен синим.

  3. Информационный уровень - на этом уровне осуществляется сетевое взаимодействие узлов, т.е. передача сервисных команд (запуск/остановка ресурсов, узлов и т.д.), обмен информацией о полноте состава кластера (quorum) и т.д. На рисунке обозначен красным. Как правило на этом уровне работает Corosync. 

Подробнее: Кластер Pacemaker+Corosync+HAProxy+Nginx

Страница 2 из 7

unix-way