czwartek, 23 stycznia 2014

Centos 6.5 kernel-ml i nie działające ACPID, czyli jak wyłączyć bezpiecznie komputer guzikiem...

Centos 6.5, kernel 3 i włączanie komputera przyciskiem zasilania.

Na Centosie 6.5 po instalacji kernela z seri 3 przestaje działać ACPID.
Jak więc bezpiecznie wyłączyć komputer "z guzika" ? Trzeba przekompilować i zainstalować Acpid serii 2.

 ACPID  serii 1 jest niekompatybilne z kernelem serii 3 

(Zainstalowane pakiet to kernel-ml-3.12.6-1.el6.elrepo.x86_64)

Ściągamy źródła:


cd /usr/src
wget http://sourceforge.net/projects/acpid2/files/acpid-2.0.21.tar.xz/download
tar -xvJf acpid-2.0.21.tar.xz

cd ./acpid-2.0.21
./configure --prefix=/usr

make 

U mnie "wyskakuje" błąd:
input_layer.c:115: error: ‘KEY_MICMUTE’ undeclared here (not in a function)
make[2]: *** [input_layer.o] Error 1
make[2]: Leaving directory `/usr/src/acpid-2.0.21'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/acpid-2.0.21'
make: *** [all] Error 2


Linię z MIC_MUTE trzeba zakomentować:
zamiast:
     {{{0,0}, EV_KEY, KEY_MICMUTE, 1},
                "button/micmute MICMUTE 00000080 00000000"},

podajemy:
/* 
     {{{0,0}, EV_KEY, KEY_MICMUTE, 1},
                "button/micmute MICMUTE 00000080 00000000"},
*/

make
 (zadziałało)
make install

Uruchamiamy:
/usr/sbin/acpid -f -d -d -d -l
Wciskamy guzik "power" i powinno się coś wyświetlić - u mnie - stacja robocza marki Fujitsu-Siemens wypisuje się wtedy linia:
acpid: completed input layer event "button/power PBTN 00000080 00000000"

Więc do pliku:
/etc/acpi/events/power
Wstawiamy zawartość:
event=(button/power PBTN 00000080 00000000)
action=/sbin/shutdown -h 0


Co zrobić żeby działało /etc/init.d/acpid z poprzedniej wersji ?
Wywalamy z niego linie :
     # Check for kernel support
        [ -f /proc/acpi/event ] || exit 1


Na wszelki wypadek dodajemy do rzeczy uruchamianych podczas startu:
chkconfig acpid on
 
Oraz zabraniamy aktualizacji pakietu acpid przez yum, dopisując (poprawiając) linię
exclude=acpid* 
w /etc/yum.conf

Uruchamiamy - /etc/init.d/acpid start

Wciskamy przycisk "power", komputer powinien zacząć zamykać system.


środa, 22 stycznia 2014

Serwer do przechowywania kopii zapasowych - btrfs na szyfrowanej partycji w Centos 6.5

Serwer do przechowywania kopii zapasowych -btrfs na szyfrowanej partycji Raid

Serwer do przechowywania kopii zapasowych,ciąg dalszy.  Trzeba - zrobić partycję Raid5 z trzech "normalnych", uruchomić tam jakieś szyfrowanie i sformatować to jako btrfs

Zmiana tablicy partycji
[root@backuphost /]# parted /dev/sda
(parted) unit s print free
Model: ATA ST2000DM001-1CH1 (scsi)
Disk /dev/sda:: 3907029168s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start      End          Size         File system  Name  Flags
        34s        2047s        2014s        Free Space
 1      2048s      411647s      409600s      fat16
 2      411648s    82331647s    81920000s    ext4               boot
 3      82331648s  90523647s    8192000s                        raid
        90523648s  3907029134s  3816505487s  Free Space


Zakładamy więc czwartą partycje w wolnym miejscu na dysku:
 mkpart raiddisk ext2 90523648s  3907029134s
Skoro założyłem partycje nr 4 to przestawiam jej flagę raid.
 set 4 raid on

To samo dla pozostałych dysków, już bez oglądania (są 3 takie same dyski).

parted /dev/sdb mkpart raiddisk ext2 90523648s  3907029134s
parted /dev/sdc mkpart raiddisk ext2 90523648s  3907029134s
parted /dev/sdb set 4 raid on
parted /dev/sdc set 4 raid on 

System wymusił reboot, więc reboot...

Robię Raid5 z tych partycji:
mdadm --create --verbose /dev/md2 --level=5 --raid-devices=3 /dev/sda4 /dev/sdb4 /dev/sdc4
mdadm --detail --scan | grep /dev/md2 >>/etc/mdadm.conf

Szyfrowanie partycji:
cryptsetup -c aes-xts-plain -s 256 luksFormat /dev/md2
 (UWAGA! Zapisać hasło i schować  w bezpiecznym miejscu, bez niego dane nie będą dostępne)

cryptsetup luksOpen /dev/md2 bigCrypted
Enter passphrase for /dev/md2:



Skrypt do montowania zakodowanej partycji (/etc/backuphost/mount_crypt_disk.sh):
cryptsetup luksOpen /dev/md2 bigCrypted
mount  -o noatime,compress=lzo /dev/mapper/bigCrypted /media/bigCrypted

nadajemy prawa do uruchamiania : chmod +x  /etc/backuphost/mount_crypt_disk.sh
Uruchamiamy, podajemy hasło i mamy dysk zamontowany.
Musimy go uruchomić za każdym razem,kiedy zrestartujemy system.

Celem późniejszego sprawdzania czy dysk jest zamontowany robimy plik "disk_is_present.txt" na tym dysku w jego katalogu głównym, czyli
echo YES >/media/bigCrypted/disk_is_present.txt

W pliku  /etc/default/useradd zmieniamy HOME=/home na HOME=/media/bigCrypted aby katalogi domowe nowych użytkowników były na naszym zakodowanym dysku.

czwartek, 9 stycznia 2014

Serwer do przechowywania kopii zapasowych - instalacja i kompilowanie btrfs na Centos 6.5

Komputer ma służyć do przechowywania kopii zapasowych w innej lokalizacji.

Kopie mają być robione przez sieć, zwykłym "rsync". Mechanizm snapshotów btrfs ma pilnować, aby było dostępne kilka (ile to do ustalenia potem) wersji plików.



Instalacja BTRFS na  Centos 6.5


Zainstalowany system - Centos 6.5 minimal.
System należy skonfigurować - czyli uruchomić sieć i przynajmniej tymczasowo wyłączyć Selinux.

Instalacja i konfiguracja narzędzi btrfs z oficjalnego repozytorium:


Zainstalować repozytoria elrepo (http://elrepo.org/tiki/tiki-index.php):

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-5-4.el5.elrepo.noarch.rpm
Zainstalować kernel z  "linii 3"
yum --enablerepo=elrepo-kernel install kernel-ml kernel-ml-devel

Poprawić /etc/grub.conf  "ma być => default=0"  - ma wskazywać na kernel-ml,
(reboot)

Sprawdzamy wersję jądra:
uname -r
ma być "3.12.6-1.el6.elrepo.x86_64" lub coś podobnego, w każdym razie ma być "elrepo"

Instalujemy narzędzia:

yum groupinstall "Development Tools" -y
yum install ncurses-devel -y
yum install libuuid-devel libattr-devel zlib-devel libacl-devel e2fsprogs-devel -y

yum install libblkid-devel lzo2-devel lzo lzo-devel -y


cd /usr/src
git clone git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git


cd /usr/src/btrfs-progs
make
make install

Do zrobienia (następne) - instalacja btrfs na macierzy Raid5 z jakąś kryptografią (pewnie dm-crypt)