14.04.15

Zabbix Share

Finaly there is the Zabbix Share portal wich aims to share templates, modules and etc. Well done!!!
https://share.zabbix.com

17.03.15

perf-tools

https://github.com/brendangregg/perf-tools
http://www.brendangregg.com/blog/2015-03-17/linux-performance-analysis-perf-tools.html

Parallel shell

Idea to execute command or script on many servers in parallel is inspiring. Of course there is configuration management systems like puppet or chef, but for periodical ad hoc tasks agentless software may be better choice.

1) Ansible
http://docs.ansible.com is good start.

$sudo yum install ansible
$sudo yum install sshpass

Disable key checking is good for testing but not so good in production environment:
$cat ~/.ansible.cfg
[defaults]
host_key_checking = False

or
$cat /etc/ansible/ansible.cfg:
...
host_key_checking = False
...

The first thing what we should do is hosts file:
$cat /etc/ansible/hosts
...
[server-group01]
server-node01
server-node02      ansible_ssh_host=10.0.1.3
server-node03      ansible_ssh_host=10.0.1.4 ansible_ssh_user=root   ansible_ssh_pass=SecretPassword0

[server-group01:vars]
ansible_ssh_user=root
ansible_ssh_pass=SecretPassword1

[server-group02]
server-g2-node[01:08]

[server-group02:vars]
ansible_ssh_user=root
ansible_ssh_pass=SecretPassword2

[allservers:children]
server-group01
server-group02
...

$ ansible server-node01 -m shell -a 'uptime'
$ ansible server-group01 -m shell -a 'uptime'
$ ansible allservers -m shell -a 'uptime'


Ansible is more powerfull with playbooks. Playbook is script with tasks.
$ cat playbook-file01.yml
---
- hosts: server-group01
  remote_user: root
  tasks:
    - name: copy RPM
      copy: src=/tmp/file.rpm dest=/root/file.rpm
    - name: install RPM
      shell: yum -y localinstall /root/file.rpm

Run playbook:
$ ansible-playbook -i /etc/ansible/hosts playbook-file01.yml

If playbook run failed on some hosts .retry file will be created:
$ cat playbook-file01.retry
server-node01

2) Salt
TODO...

3) pssh
$ pssh -i -l root -H "10.0.1.11 10.0.1.12 10.0.1.13" "uname"
$ pssh -i -l root -h ~/pssh_hosts "uname"
$ cat ~/pssh_hosts
root@10.0.1.14:22
root@10.0.1.15
10.0.1.16

4) pdsh (AIX's dsh analogue)
$ pdsh -l root -w 10.0.1.[111-114] uname

File access monitoring

Tools that can help to observe file access activity.

1) inotify-tools
Next command shows read-write statistics in /etc/ directory:
# inotifywatch -r /etc
Establishing watches...
Finished establishing watches, now collecting statistics.
^Ctotal  access  close_nowrite  open  filename
212    51      81             80    /etc/
78     30      24             24    /etc/modprobe.d/
49     17      16             16    /etc/yum.repos.d/
9      3       3              3     /etc/rpm/
6      2       2              2     /etc/dnf/
3      1       1              1     /etc/groff/site-tmac/


2) auditd
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html-single/Security_Guide/index.html#chap-system_auditing

For the first lets add new rule:
#auditctl -w /etc -p wa

And after we can find rule hits:
#ausearch -f /etc
....
----
time->Tue Mar 17 13:14:02 2015
type=PROCTITLE msg=audit(1426587242.156:3804): proctitle=76696D002F6574632F6578706F727473
type=PATH msg=audit(1426587242.156:3804): item=1 name="/etc/exports~" inode=5506335 dev=fd:01 mode=0100644 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:exports_t:s0 nametype=DELETE
type=PATH msg=audit(1426587242.156:3804): item=0 name="/etc/" inode=5505025 dev=fd:01 mode=040755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:etc_t:s0 nametype=PARENT
type=CWD msg=audit(1426587242.156:3804):  cwd="/root"
type=SYSCALL msg=audit(1426587242.156:3804): arch=c000003e syscall=87 success=yes exit=0 a0=204a9e0 a1=2045490 a2=5c9259 a3=7f09a02781b0 items=2 ppid=19897 pid=30146 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts1 ses=1 comm="vim" exe="/usr/bin/vim" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key=(null)
...

3) SystemTap
$ sudo yum install systemtap
$ sudo stap-prep

Standard SystemTap example iotime.stp already pretty good for file acces monitoring:
https://sourceware.org/systemtap/SystemTap_Beginners_Guide/iotimesect.html

$ stap /usr/share/doc/systemtap-client/examples/io/iotime.stp
...
23235900 26564 (vim) access /etc/exports read: 0 write: 0
23235993 26564 (vim) access /etc/exports read: 2 write: 0
...
27436262 26564 (vim) access /etc/.exports.swp read: 0 write: 12288
27436264 26564 (vim) iotime /etc/.exports.swp time: 70
...

4) sysdig
After installing sysdig is good to check sysdig_probe kernel module. It should be loaded. Then we can run sysdig:

$ sysdig -p "%evt.datetime %12user.name %6proc.pid %12proc.name %3fd.num %fd.typechar %fd.name %evt.type" "evt.type=write and fd.typechar=f and fd.name contains /etc"
...
2015-03-17 11:46:35.281468277 root         22376  vim          4   f /etc/.exports.swp write
2015-03-17 11:46:38.074666073 root         22376  vim          3   f /etc/exports write
2015-03-17 11:46:38.074685219 root         22376  vim          3   f /etc/exports write
2015-03-17 11:46:38.113890001 root         22376  vim          4   f /etc/.exports.swp write
...

5) strace
Next example observing file activity for a concrete program:
$strace -e trace=file -p PIDNUM
....
open("/root/.viminfo.tmp", O_WRONLY|O_CREAT|O_EXCL|O_NOFOLLOW, 0600) = 5
stat("/root/.viminfo.tmp", {st_mode=S_IFREG|0600, st_size=7898, ...}) = 0
stat("/root/.viminfo", {st_mode=S_IFREG|0600, st_size=7898, ...}) = 0
unlink("/root/.viminfo")                = 0
rename("/root/.viminfo.tmp", "/root/.viminfo") = 0
unlink("/etc/.exports.swp")             = 0
+++ exited with 0 +++

6) opensnoop (from perf-tools by Brendan Gregg)
$ sudo ./opensnoop /etc
...
vim              6672    0x3 /etc/exports
vim              6672     -1 /etc/.exports.swp
vim              6672    0x4 /etc/.exports.swp
vim              6672     -1 /etc/.exports.swpx
vim              6672    0x5 /etc/.exports.swpx
vim              6672    0x4 /etc/.exports.swp
vim              6672    0x3 /etc/exports
...

17.01.15

Обновление для A-записи домена в DNS godaddy.

Обновление для A-записи домена в DNS godaddy, может пригодиться чтобы избавиться от сервисов динамического dns.

Для работы скрипта понадобятся дополнительные модули для python из PyPI, в debian - следующим образом:
# apt-get install python-pip
# pip install pif
# pip install pygodaddy

Сам скрпт, который можно будет запускать в cron по расписанию, обновляет запись host.example.com:
#!/usr/bin/env python2

import pif
import pygodaddy

username = "USERNAME"
password = "PASSWORD"

hostname = "host"
domain = "example.com"
fqdn = hostname + "." + domain

public_ip = pif.get_public_ip()

client = pygodaddy.GoDaddyClient()
client.login(username, password)

dns_records = client.find_dns_records(domain, record_type='A')
for record in dns_records:
if record.hostname == hostname and record.value != public_ip:
client.update_dns_record(fqdn, public_ip)

Работа с дисковой подсистемой

Рескан новых устройств SCSI:
# echo "- - -" > /sys/class/scsi_host/host<N>/scan

Рескан интерконнектов FC:
# echo "1" > /sys/class/fc_host/host<N>/issue_lip

В RHEL вместо двух команд выше можно использовать скрипт rescan-scsi-bus.sh:
# yum install sg3_utils
# /usr/bin/rescan-scsi-bus.sh

Рескан для существующего устройства (при изменении размера):
# echo 1 > /sys/block/sd<X>/device/rescan

Рескан изменения таблицы разделов:
#partprobe
#blockdev --rereadpt /dev/sd<X>


RHEL7:
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Storage_Administration_Guide/index.html
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Logical_Volume_Manager_Administration/index.html
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/DM_Multipath/index.html

RHEL6:
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/index.html
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Logical_Volume_Manager_Administration/index.html
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/DM_Multipath/index.html

open-vm-tools. vmware tools для RHEL7 / CentOS7.

Установка vmware tools в RHEL7 / CentOS7:

# yum install open-vm-tools
# systemctl start vmtoolsd

http://partnerweb.vmware.com/GOSIG/RHEL_7.html

14.10.14

The Practice of Cloud System Administration: Designing and Operating Large Distributed Systems, Volume 2

В прошлом месяце вышла книга "The Practice of Cloud System Administration: Designing and Operating Large Distributed Systems, Volume 2" (amazon link). Авторы - небезызвестные Thomas A. Limoncelli, Strata R. Chalup, Christina J. Hogan, авторы бестселлера "The Practice of System and Network Administration, Second Edition", он же Volume 1, книги, благодаря которой прививается правильный взгляд на системное и сетевое администрирование (IMHO). Ожидаю не меньшего и от второго тома!

30.09.14

ShellShock check

https://github.com/hannob/bashcheck


#!/bin/bash

r=`x="() { :; }; echo x" bash -c ""`
if [ -n "$r" ]; then
echo -e '\033[91mVulnerable to CVE-2014-6271 (original shellshock)\033[39m'
else
echo -e '\033[92mNot vulnerable to CVE-2014-6271 (original shellshock)\033[39m'
fi

cd /tmp;rm echo 2>/dev/null
X='() { function a a>\' bash -c echo 2>/dev/null > /dev/null
if [ -e echo ]; then
echo -e "\033[91mVulnerable to CVE-2014-7169 (taviso bug)\033[39m"
else
echo -e "\033[92mNot vulnerable to CVE-2014-7169 (taviso bug)\033[39m"
fi

bash -c "true $(printf '<<EOF %.0s' {1..79})" 2>/dev/null
if [ $? != 0 ]; then
echo -e "\033[91mVulnerable to CVE-2014-7186 (redir_stack bug)\033[39m"
else
echo -e "\033[92mNot vulnerable to CVE-2014-7186 (redir_stack bug)\033[39m"
fi

bash -c "`for i in {1..200}; do echo -n "for x$i in; do :;"; done; for i in {1..200}; do echo -n "done;";done`" 2>/dev/null
if [ $? != 0 ]; then
echo -e "\033[91mVulnerable to CVE-2014-7187 (nested loops off by one)\033[39m"
else
echo -e "\033[96mTest for CVE-2014-7187 not reliable without address sanitizer\033[39m"
fi

r=`a="() { echo x;}" bash -c a 2>/dev/null`
if [ -n "$r" ]; then
echo -e "\033[93mVariable function parser still active, likely vulnerable to yet unknown parser bugs like CVE-2014-6277 (lcamtuf bug)\033[39m"
else
echo -e "\033[92mVariable function parser inactive, likely safe from unknown parser bugs\033[39m"
fi

loop on f20.

echo loop > /etc/modules-load.d/loop.conf
systemctl status systemd-modules-load.service

echo options loop max_loop=10 > /etc/modprobe.d/loop.conf
dracut --force

Mounting a disk image using the loop device

losetup /dev/loop0 /pathto/file.img
fdisk -l /dev/loop0
losetup -d /dev/loop0

losetup /dev/loop0 /pathto/file.img -o 8704

13.09.14

SSD в f20,rhel7. базовый тюнинг

1) Блочный уровень
Глобально тип планировшика ввода-вывода можно задать в grub'e:
#vim /etc/default/grub
...
GRUB_CMDLINE_LINUX="vconsole.font=latarcyrheb-sun16 $([ -x /usr/sbin/rhcrashkernel-param ] && /usr/sbin/rhcrashkernel-param || :) elevator=noop rhgb quiet"
...

#grub2-mkconfig -o /boot/grub2/grub.cfg

Для отдельного диска можно воспользоваться rc-local:

#vim /etc/rc.d/rc.local
#!/bin/bash
echo noop > /sys/block/sdX/queue/scheduler

#chmod +x /etc/rc.d/rc.local
#systemctl enable rc-local
#systemctl start rc-local


2) Файловый уровень.
#tune2fs -o journal_data_writeback,user_xattr,acl /dev/sdX

#vim /etc/fstab:
...
UUID=XXX    /    ext4    defaults,noatime,data=writeback,barrier=0        1 1
...

#vim /etc/cron.daily/trim 
#!/bin/sh
/usr/sbin/fstrim -v /

#chmod +x /etc/cron.daily/trim

29.08.14

Укрощение HP Elitebook folio 9470m

Нужен был легкий ноутбук и почти решился купить Dell XPS 13, как в руки попал корпоративный HP Elitebook folio 9470m, не собственный, ну да какая разница) Первым делом решил избавиться от установленной ОС, сделав копию разделов. В системе 2 диска: hitachi hts72505 и samsung mzmpc032 (SSD), твердотельный использовался как кэш, что просто кошунство на мой взгляд). Проблема заключалась в том, что при установке fedora, anaconda не видела оба диска, решение нашлось почти сразу - отключение raid в bios и выполнение команды (в live режиме):
#dmraid -r -E

Теперь система на ssd, home на hdd, для шифрования home используется luks. wifi работает, звук тоже, в планах потестить fingerprint.


24.08.14

NetHogs

NetHogs позволяет вывести сетевую скорость по процессам.

21.08.14

Orange Book & CC

Классика)

TCSEC (Trusted Computer System Evaluation Criteria) aka "Orange Book"
http://csrc.nist.gov/publications/history/dod85.pdf
+
CC (common criteria), ISO/IEC 15408
http://www.commoncriteriaportal.org/cc/

10.06.14

Red Hat Forum 2014 & RHEL7

Сегодня посетил Red Hat Forum 2014, все было весьма интересно, как и на всех мероприятиях проводимых Red Hat или сообществом Fedora. Были обзоры практически всех продуктов компании, выступления партнеров и спонсоров (HP, IBM, Dell), общий акцент как уже принято на облака и big data, но самое главное это то, что в этот же день выходит долгожданный RHEL 7!!!

24.05.14

MySQL max_connection

#vim /etc/my.cnf

[mysqld]
...
max_connection=1000
...


(по умолчанию 151)

MySQL InnoDB

#vim /etc/my.cnf

[mysqld]
...
default-storage-engine=InnoDB
...

10.04.14

Узнать свой внешний IP (за NATом)

$curl ifconfig.me
$curl ident.me

PyPI:
$sudo pip install pif
$get-public-ip

Генераторы паролей

apg
$apg -m 12 -M SNC

mkpasswd (пакет expect)
$mkpasswd -l 12

24.01.14

HP Software Delivery Repository

HP Software Delivery Repository
This site provides yum and apt repositories for Linux-related software packages.

http://downloads.linux.hp.com/SDR/

20.10.13

Отключение IPv6

sysctl
net.ipv6.conf.all.disable_ipv6 = 1

opt:
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

RHEL6 (/CentOS6):
Отключаем модули ядра для ipv6:
#cat > /etc/modprobe.d/ipv6.conf << EOF
options ipv6 disable=1
alias net-pf-10 off
alias ipv6 off
install ipv6 /bin/true
EOF

Первая строка здесь отключает ipv6, остальные предотвращают загрузку уже ненужного модуля ядра для ipv6.

Отключаем iptables для ipv6:
#chkconfig ip6tables off

Ubuntu 13.10:
#cat /etc/default/grub
...
GRUB_CMDLINE_LINUX_DEFAULT=" ipv6.disable=1"
...

#update-grub2

21.09.13

Конференция «Дорога в облака»

Посетил конференцию «Дорога в облака»

* «Нестандартное использование Puppet в деплойменте» - Михаил Щербаков, Mirantis.
* «Как облачные технологии меняют Linux-дистрибутивы?» - Петр Леменков, Fedora Project.
* «Производительность и масштабируемость OpenStack» - Борис Павлович, Mirantis.
* «Configuration Management at large companies» (in English) - Matthew Mosesohn, Mirantis.
* «Развертывание OpenStack с помощью Fuel» - Михаил Щербаков, Mirantis.
* «Elliptics, отказоустойчивое распределенное KV-хранилище» - Евгений Поляков, Яндекс.
* «Облачные решения от Red Hat, и будущее» - Сергей Бугрин, Red Hat.
 

07.09.13

RPi

Недавно переехал и сейчас задумался отказываться от yota в пользу полноценного интернета (и более дешевого) и заключая сегодня договор с провайдером, я отказался от услуг настройки оборудования и предложений о покупки роутера) мой RaspberryPi куда лучше всей этой шелухи. Geek's HandMade) Only GNU/Linux! Да, сейчас на фото ubuntu, а в Pi - raspbian, но можно и дубль два - будет fedora + pidora) ...дело вкуса...!!!)))

22.07.13

ubuntu edge

Вот телефон который я хочу, ubuntu edge, все остальные по сравнению с ним меркнут!















Очень жаль, что это пока только краудфандинг и поэтому хочется сказать следующее:

16.06.13

WIFI точка доступа в Linux (или WIFI-router из RaspberryPi)

WIFI точку доступа в linux можно настроить используя hostapd, dhcp сервер и поддерживаемый wifi-адаптер, драйвер которого сможет выступать в качестве AP. http://wireless.kernel.org
Один из поддерживаемых USB wifi-адаптеров - TP-LINK TL-WN722N(С) (http://www.tp-linkru.com/products/details/?categoryid=&model=TL-WN722N) им я и воспользовался.

Ниже описана конфигурация wifi точки доступа, собранной из RaspberryPi (raspbian), LTE-модема yota и уже упомянутого wifi-адаптера TP-LINK TL-WN722NС.


  • Настройка интерфейсов:
Устанавливаем resolvconf, необходим для работы опции "dns-nameservers":
#apt-get install resolvconf

Редактируем сами интерфесы:
#cat /etc/network/interfaces
auto lo
        iface lo inet loopback
        iface eth0 inet dhcp

#onboard ethernet
auto eth0
iface eth0 inet static
        address 172.16.0.10
        netmask 255.255.255.0

#yota
auto default eth1
iface eth1 inet dhcp
        dns-nameservers 8.8.8.8

#wifi
auto wlan0
iface wlan0 inet static
        address 192.168.0.1
        netmask 255.255.255.0
        dns-nameservers 8.8.8.8

  • Настройка dhcp:
Ставим dhcp сервер, я воспользовался стандартным:
#apt-get install isc-dhcp-server

Правим стандартную конфигурацию:
#cat /etc/dhcp/dhcpd.conf

ddns-update-style none;
#option domain-name "example.org";
#option domain-name-servers 8.8.8.8;

default-lease-time 600;
max-lease-time 7200;
log-facility local7;

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.25 192.168.0.30;
  option domain-name-servers 8.8.8.8;
  option routers 192.168.0.1;
  interface wlan0
}
  • Настройка точки доступа hostapd:
Устанавливаем пакет:
#apt-get install hostapd

Создаем конфиг, в итоге должно получится следующее:
#cat /etc/hostapd/hostapd.conf

interface=wlan0
driver=nl80211
ssid=SSIDName
hw_mode=g
channel=11
wme_enabled=1
ieee80211n=1
ht_capab=[HT40-][SHORT-GI-40][DSSS_CCK-40]
wpa=2
wpa_passphrase=SecretPasswordPhrase
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
wpa_ptk_rekey=600
macaddr_acl=0

Здесь нужно заменить SSIDName на желаемое имя wifi сети, а SecretPasswordPhrase соответственно на пароль wifi сети.

Также необходимо подправить init-скрипт демона /etc/init.d/hostapd:
присвоить значение для
... 
DAEMON_CONF=/etc/hostapd/hostapd.conf
...
а также добавить управление интерфейсом wlan0 при старте, рестарте и останове демона:

...
#wlan iface
WLAN=wlan0
...
  start)
    #up wlan iface
    /sbin/ifup $WLAN

    log_daemon_msg "Starting $DESC" "$NAME"
    start-stop-daemon --start --oknodo --quiet --exec "$DAEMON_SBIN" \
        --pidfile "$PIDFILE" -- $DAEMON_OPTS >/dev/null
    log_end_msg "$?"
    ;;
  stop)
    log_daemon_msg "Stopping $DESC" "$NAME"
    start-stop-daemon --stop --oknodo --quiet --exec "$DAEMON_SBIN" \
        --pidfile "$PIDFILE"

    #down wlan iface
    /sbin/ifdown $WLAN

    log_end_msg "$?"
    ;;
...

  • Настройка файервола:

Включаем forwrding в sysctl.conf:
net.ipv4.ip_forward=1
В iptables разрешаем forwarding для беспроводного интерфейса и разрешаем masquerading для интерфейса подключенного к Интернет:
#iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
#iptables -A FORWARD -i eth1 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
#iptables -A FORWARD -i wlan0 -o eth1 -j ACCEPT
Плюс ко всему необходимо блокировать ненужный трафик.

Существует ряд способов применить настройки правил iptables при старте системы, в debian/ubuntu я пользуюсь iptables-persistent:
Ставим пакет, при установке можно не сохранять текущие правила, т.к. будут редактироваться:
#apt-get install iptables-persistent

Далее добавляем необходимые правила в файл:
#cat /etc/iptables/rules.v4

*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth1 -j MASQUERADE
COMMIT

*filter
:INPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
-A INPUT -i wlan0 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -i eth1 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i wlan0 -o eth1 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

Это необходимый минимум правил. Далее их можно добавлять и совершенствовать усиливая защиту, например добавив проверку по MAC адресам, установить IPS/IDS и т.д.

Такая реализация wifi-роутера меня лично больше устраивает чем скажем OpenWRT+поддерживаемый им роутер, чем я и пользовался ранее, в плане ПО уж точно.
Были опасения по поводу нагрева RaspberryPi в этом корпусе, но температура была вполне штатная 51'С и скорее всего установка радиаторов или отверстий в корпусе не потребуется.

TODO: аналогичная настройка, но на fedora.

12.06.13

Red Hat выпустила Red Hat Enterprise Virtualization 3.2


Вышла новая версия системы виртуализации RHEV 3.2. Основные новшества - полная поддержка Storage Live Migration и поддержка последних моделей процессоров Intel и AMD.

08.06.13

NetGWM

"NetGWM (Network Gateway Manager) — утилита для автоматического переключения сетевых шлюзов в случае недоступности интернет-подключения в операционной системе GNU/Linux. NetGWM позволяет с лёгкостью создавать отказоустойчивые подключения к глобальной сети.", flant.ru

Linux Advanced Routing & Traffic Control

http://lartc.org

06.06.13

Подключение yandex disk в nautilus 3.6+

Connect to Server:
davs://login@webdav.yandex.ru:443

01.06.13

семинар Red Hat продукты и технологии. IV. RHEV.

Тема семинара: Основы настройки и управления Red Hat Enterprise Virtualization 3.1:
  • установка базовой инфраструктуры, необходимой для развертывания системы виртуализации, основанной на Red Hat Enterprise Virtualization 3.1 (установка менеджера RHEV-M и хостов виртуализации);
  • настройка и управление менеджером и хостами виртуализации (настройка хранилищ, создание виртуальных машин, шаблонов виртуальных машин и так далее). 
Как и в предыдущих семинарах все было очень интересно! В этот раз добавилась еще и практическая часть!

08.05.13

Debian 7.0 multiarch

debian 7.0 multiarch quick start:
http://wiki.debian.org/Multiarch/HOWTO

На amd64 машине:
проверяем:
#dpkg --print-architecture
#dpkg --print-foreign-architectures
добавляем:
#dpkg --add-architecture i386
#vim /etc/apt/sources.list
...
deb [arch=amd64,i386] http://mirror.yandex.ru/debian/ wheezy main
...

20.04.13

Тестируем openstack.

Полезные ресурсы для тестирования openstack:

06.04.13

RHCE

Сдал экзамен RHCE (Red Hat Certified Engineer)!

01.04.13

Курс RH254 Red Hat - Системное администрирование III

Продолжаю обучение по Red Hat Enterprise Linux, прокачиваю навыки и готовлюсь к экзамену RHCE на курсе "RH254 Red Hat - Системное администрирование III", УЦ Инвента.

30.03.13

Семинар Red Hat: продукты и технологии. III

Посетил семинар Red Hat: продукты и технологии. III.
  • Кластеризация PostgreSQL: различные варианты обеспечения отказоустойчивости и балансировки нагрузки
  • Что нового в управлении аутентификацией и авторизацией в RHEL 6.4
  • Подписки RHEL. Как правильно выбирать для физических и виртуальных сред
  • Особенности управления ресурсами при помощи Cgroup
  • OpenShift – свободное PaaS облако

11.03.13

zram

zram позволяет в частности использовать быстрый по сравнению с традиционным swap раздел, за счет отображения его в памяти (в сжатом виде), тем самым увеличивая суммарное количество RAM в системе.

В ubuntu:
#apt-get install zram-config

Суть пакета - скрипт upstart:

description    "Initializes zram swaping"
author        "Adam Conrad <adconrad@canonical.com>"

start on runlevel [2345]

pre-start script
  # load dependency modules
  NRDEVICES=$(grep -c ^processor /proc/cpuinfo | sed 's/^0$/1/')
  if modinfo zram | grep -q ' zram_num_devices:' 2>/dev/null; then
    MODPROBE_ARGS="zram_num_devices=${NRDEVICES}"
  elif modinfo zram | grep -q ' num_devices:' 2>/dev/null; then
    MODPROBE_ARGS="num_devices=${NRDEVICES}"
  else
    exit 1
  fi
  modprobe zram $MODPROBE_ARGS

  # Calculate memory to use for zram (1/2 of ram)
  totalmem=`free | grep -e "^Mem:" | sed -e 's/^Mem: *//' -e 's/  *.*//'`
  mem=$(((totalmem / 2 / ${NRDEVICES}) * 1024))

  # initialize the devices
  for i in $(seq ${NRDEVICES}); do
    DEVNUMBER=$((i - 1))
    echo $mem > /sys/block/zram${DEVNUMBER}/disksize
    mkswap /dev/zram${DEVNUMBER}
    swapon -p 5 /dev/zram${DEVNUMBER}
  done
end script

post-stop script
  if DEVICES=$(grep zram /proc/swaps | awk '{print $1}'); then
    for i in $DEVICES; do
      swapoff $i
    done
  fi
  rmmod -w zram
end script