вторник, 1 ноября 2016 г.

HP-UX. Убить несколько процессов

В случае если требуется убить несколько процессов с одинаковым названием, то можно использовать следующую команду.

# for pid in $(ps -ef | grep "some search" | awk '{print $2}'); do kill -9 $pid; done

или

# for pid in $(ps -ef | awk '/some search/ {print $2}'); do kill -9 $pid; done


пятница, 16 сентября 2016 г.

LinuxMint ввод в домен Windows

Для ввода LinuxMint в домен Windows нужно скачать и установить пакет от команды PowerBroker Open project (ранее называлась Likewise Open). На странице загрузки заполняем регистрационную форму и получаем на почту ссылку на скачивание пакетов. Если вам нужна демо версия с полным функционалом то нужно поставить галочку в самом низу формы регистрации. Меня полностью устраивает функционал бесплатной версии.


По ссылке полученной на почту заходим на страницу скачивания пакетов. Скачиваем последний стабильный релиз под свою битность ОС.



В терминале переходим в директорию в которую был закачан пакет(у меня это /home/michael) и выдаем ему права на выполнение, затем устанавливаем.

# cd /home/michael
# sudo chmod +x pbis-open-8.5.0.153.linux.x86_64.deb.sh
# sudo ./pbis-open-8.5.0.153.linux.x86_64.deb.sh

На все вопросы отвечаем 'yes'. После установки откроется окно ввода компьютера в домен.

четверг, 15 сентября 2016 г.

LinuxMint/Ubuntu. Установка Citrix Receiver

Скачиваем deb пакет Citrix Receiver нужной битности(у меня
x86_64) отсюда. На момент написания это версия 13.4.

















Устанавливаем скачанный пакет с помощью команды gdebi.

# sudo gdebi icaclient_13.4.0.10109380_amd64.deb

В принципе всё, но при использовании собственных сертификатов возникает ошибка при попытке подключения - "Не удалось установить SSL-подключение к серверу, так как сертификат сервера не является достоверным."










В логе Citrix Receiver(~.ICAClient/logs/AuthManager.latest) следуещее сообщение.

Time: Thu 15 Sep 2016 14:16:54 UTC
LocalTime: Thu 15 Sep 2016 14:16:54
Type: Warning
Module: Citrix Authentication Manager
Location: /opt/Citrix/ICAClient/AuthManagerDaemon
Version: 13.4.0.SF.10108934#379805#158852#68035#428764 (Release)
Platform: Linux
Description: There was a problem with the server's certificate.
Exception type: Certificate exception
Detail: CheckedSendAndReceive(); m_Curlcode: 60; url: 'https-url-withheld'
Context:
    CAuthHttpRequestImpl::SendAndReceive

URLs have been stripped from this log message. To allow URLs in the log, set the logging mode to 'verbose'.


среда, 14 сентября 2016 г.

LinuxMint. Прописать прокси

Добавить в файл /etc/environment записи вида:

http_proxy=http://myproxy.server.com:8080/
https_proxy=http://myproxy.server.com:8080/
ftp_proxy=http://myproxy.server.com:8080/
no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
HTTP_PROXY=http://myproxy.server.com:8080/
HTTPS_PROXY=http://myproxy.server.com:8080/
FTP_PROXY=http://myproxy.server.com:8080/
NO_PROXY="localhost,127.0.0.1,localaddress,.localdomain.com"


В директории /etc/apt/apt.conf.d/ создать файл с именем "95proxies" и добавить в него записи следующего вида:

Acquire::http::proxy "http://myproxy.server.com:8080/";
Acquire::ftp::proxy "ftp://myproxy.server.com:8080/";
Acquire::https::proxy "https://myproxy.server.com:8080/";


Если на прокси сервере используется авторизация тогда указывается логин и пароль.

http://myusername:mypassword@myproxy.mydomain.com:8080/

Взято отсюда.

среда, 7 сентября 2016 г.

HP-UX. Высвободить inode

inode (index node) - индексный дескриптор, структура данных в традиционных для ОС UNIX файловых системах. В этой структуре хранится метаинформация о стандартных файлах, каталогах или других объектах файловой системы, кроме непосредственно данных и имени.

Файловая система сообщает о высоком проценте использования inode.

# bdf -i
Filesystem          kbytes    used   avail %used  iused  ifree %iuse Mounted on
/dev/vg_LDS/lv_sapmnt_LDS
                   8388608 7224864 1154744   86% 703136  36352   95% /sapmnt/LDS


Высвободим часть используемых inode с помощью создания нулевого файла.

# cd /sapmnt/LDS
# mkdir TEST
# cd TEST


Выполним команду.

# i=1
# while [ $i -lt 100000000 ]
do
touch $i
i=`expr $i + 1`
done


HP-UX. Показать процессы использующие память и процессор

1. Команда отображающая десять процессов активно использующих CPU.

# echo " %CPU PID RUSER COMMAND" ;UNIX95= ps -ef -o 'pcpu pid ruser args'|sort -nr|head -10

Пример вывода.

[root@tst ~]# echo " %CPU PID RUSER COMMAND" ;UNIX95= ps -ef -o 'pcpu pid ruser args'|sort -nr|head -10
 %CPU PID RUSER COMMAND
98.97  8006 oracle   ora_j014_bill
29.62  8162 oracle   ora_j024_bill
22.96  8056 oracle   ora_j020_bill
17.02  8216 oracle   ora_j015_bill
12.88  3817 grid     oraclebill (LOCAL=NO)
11.82 12867 grid     oraclebill (LOCAL=NO)
11.50  8206 oracle   ora_j016_bill
10.26  8238 oracle   ora_j012_bill
 8.47  8197 oracle   ora_j010_bill
 6.55  7849 oracle   ora_j003_bill
[root@tst ~]#

 
2. Команда отображающая десять процессов активно использующих память.

# echo " SZ PID RUSER COMMAND";UNIX95= ps -ef -o 'sz pid ruser args' |sort -nr|head -10

Пример вывода.

[root@tst ~]# echo " SZ PID RUSER COMMAND";UNIX95= ps -ef -o 'sz pid ruser args' |sort -nr|head -10
 SZ PID RUSER COMMAND
106477 27996 grid     oraclebill (LOCAL=NO)
106477 27990 grid     oraclebill (LOCAL=NO)
106477 27986 grid     oraclebill (LOCAL=NO)
106387 15671 oracle   ora_gen0_stbill
106285 27994 grid     oraclebill (LOCAL=NO)
106221 27992 grid     oraclebill (LOCAL=NO)
106221 27984 grid     oraclebill (LOCAL=NO)
106217 27988 grid     oraclebill (LOCAL=NO)
105513 21936 oracle   ora_q002_bill
105498 15675 oracle   ora_dbrm_bill
[root@tst ~]#

 

вторник, 23 августа 2016 г.

CentOS 7 Firewalld

Centos 7, в отличие от CentOS 6, в базе идет с новым брандмауэром - firewalld. Его можно отключить и заменить на старый добрый iptables, но если к этому нет прямых предпосылок, то лучше привыкать к чему-то новому, а не упираться в старое. Это не значит, что Windows 10 лучше Windows 7, а Windows XP лучше Windows 7 ;) Хороший пример на эту тему - selinux. Если вначале почти все (и я тоже) его отключали и даже немного ругали, то теперь почти никто это не советует, только если есть уверенность, что так надо. Напротив, многие уже привыкли (или привыкают) пользоваться semanage. Не будем и мы сразу отключать firewalld, а попробуем, как он на вкус.

Firewalld - это не принципиально иной брандмауэр.

пятница, 19 августа 2016 г.

Настройка PostgreSQL для работы с клиентами через SSL

Сначала создаем центр сертификации (далее CA - Certificate Authority) с помощью которого мы будем выпускать сертификаты как для серверов так и для клиентов. CA можно создать где угодно, лишь бы был установлен пакет OpenSSL благо он установлен во всех дистрибутивах по-умолчанию

Перед тем как начать создаем каталог в котором будут размещаться все небходимые файлы и переходим в него. В этом каталоге будем выполнять все работы по созданию ключей и сертификтов.
Первым делом создаём корневой ключ для CA и затем создаем корневой сертификат CA.

# openssl genrsa -out rootCA.key 2048
# openssl req -x509 -new -key rootCA.key -days 10000 -out rootCA.crt

На этом центр сертификации создан. Переходим к созданию ключей и сертификатов для серверов и клиентов. Перед тем как начать, рекомендуется подумать над иерархией хранения всех ключей и сертификатов

среда, 17 августа 2016 г.

Psql подключение с SSL

# psql "dbname=data sslmode=require host=postgres_server user=username"

или

# psql --set=sslmode=require -h hostname -U username

понедельник, 15 августа 2016 г.

Squid читаемый timestamp

В access.log squid формат даты пишет в виде <unix timestamp>.<centisecond>.  Для того чтобы сконвертировать время в читаемый вид достаточно использовать следующую команду.

# cat access.log | perl -p -e 's/^([0-9]*)/"[".localtime($1)."]"/e'

пятница, 29 июля 2016 г.

Debian авто вход(auto login)

Для настройки авто входа в Debian есть пара методов.

Первый.

Нужно отредактировать файл /etc/inittab.

# nano /etc/inittab

Находим строчку.

1:2345:respawn:/sbin/getty 38400 tty1

И комментируем ее.

#1:2345:respawn:/sbin/getty 38400 tty1

Следующей строчкой добавим.

1:2345:respawn:/bin/login -f ИМЯ_ПОЛЬЗОВАТЕЛЯ tty1 </dev/tty1 >/dev/tty1 2>&1


среда, 27 июля 2016 г.

HP-UX увеличение раздела

1. Проверяем есть ли лицензия VERITAS.

# vxlicrep | grep Online
   HP_OnlineJFS                        = Enabled

2. Лицензия есть. Расширяем раздел.

# bdf
Filesystem          kbytes    used   avail %used Mounted on
/dev/vg01/lvol1 1835008   17942 1703507    1% /test

# vgdisplay -v vg01
...
PE Size (Mbytes)            8
Total PE                    4341
Alloc PE                    4096
Free PE                     245
...
LV Name                     /dev/vg01/lvol1
LV Status                   available/syncd
LV Size (Mbytes)            1792
Current LE                  224
Allocated PE                224
Used PV                     1
...

вторник, 26 июля 2016 г.

HP-UX загрузка в Single User Mode

Вход в Single User Mode может потребоваться в разных случаях, например для сброса пароля root. Для загрузки HP-UX в Single User Mode нужно перезагрузить сервер. Пропустить меню настройки.



Дождаться меню загрузки ОС, и прервать загрузку нажатием любой клавиши.



В командной строке ввести "hpux -is" либо "boot vmunix -is" и нажать клавишу "Enter".


понедельник, 25 июля 2016 г.

Конфигурирование RAID на P410i контроллере

1. Из под EFI shell  определяем Drv используя команду drivers.
2. Находим SAS Host Adapter и запоминаем Driver ID в левой колонке, это и есть Drv.
3. С помощью команды  drvcfg определяем Ctrl. То есть  Driver ID будет соответствовать своему Ctrl.

















4. Теперь с помощью команды drvcfg -s попадаем в BIOS или ORCA.

Читаемый вывод команд df и du в HP-UX

В HP-UX для вывода информации о использовании дискового пространства можно использовать команды bdf и df.

Вывод команды bdf.

[root@tst ~]# bdf
Filesystem          kbytes    used   avail %used Mounted on
/dev/vg00/lvol3    1048576  350520  693288   34% /
/dev/vg00/lvol1    1835008  621392 1204184   34% /stand
/dev/vg00/lvol8    8912896 6560040 2338640   74% /var
/dev/vg00/lvol7    4554752 3153448 1390416   69% /usr
/dev/vg00/lvol4     524288   25072  496080    5% /tmp
/dev/vg00/lvol9    20971520 12334363 8158928   60% /oracle
/dev/vg00/lvol6    8224768 5740920 2465424   70% /opt
/dev/vg00/lvol5     131072   74104   56560   57% /home
[root@tst ~]#

Вывод команды df.

[root@tst ~]# df -k
/home                  (/dev/vg00/lvol5       ) :   130664 total allocated Kb
                                                     56560 free allocated Kb
                                                     74104 used allocated Kb
                                                        57 % allocation used
/opt                   (/dev/vg00/lvol6       ) :  8206344 total allocated Kb
                                                   2465424 free allocated Kb
                                                   5740920 used allocated Kb
                                                        70 % allocation used
/oracle                (/dev/vg00/lvol9       ) : 20493290 total allocated Kb
                                                   8158934 free allocated Kb
                                                  12334356 used allocated Kb
                                                        61 % allocation used

HP-UX SSH

Файл конфигурации находится по пути.

/opt/ssh/etc/sshd_config

Скрип автозапуска и остановки находится здесь.

/sbin/init.d/secsh {start|stop}

Конфигурационный файл автозапуска.

/etc/rc.config.d/sshd

Остановить SSH сервис.

# /sbin/init.d/secsh stop

Запустить сервис SSH.

# /sbin/init.d/secsh start

понедельник, 18 июля 2016 г.

HP-UX установка bash и vim

В интернете есть замечательный ресурс с портированными пакетами под HP-UX - http://hpux.connect.org.uk/.

Bash

Для установки bash в HP-UX 11.31 нужно скачать четыре пакета.




Разархивировать скачанные пакеты.

# gunzip имя_пакета

И установить(зависимости в первую очередь).

# swinstall -s /путь/до/файла_depot

LVM RHEL/CentOS/Fedora

LVM – это система управления дисковым пространством, находящаяся поверх логических разделов. Она даёт возможность более гибко использовать дисковое пространство. Основная область применения LVM – файловые хранилища, базы данных. Также её можно использовать на рабочих станциях и домашних персональных компьютерах.

Существует 2 версии LVM (Logical Volume Manager):


  • LVM 1 – использовалась с ядрами версии 2.4.
  • LVM 2 – новая и улучшенная версия, использует драйвер device mapper, поддерживаемый в ядрах 2.6 и в 2.4 (с патчами).


Иерархия LVM

Система, обычно используемая в Linux:


  • жесткие диски: /dev/hda,/dev/sda,/dev/cciss/c0d0идр.
  • логические разделы: /dev/hda1,/dev/sda2,/dev/cciss/c0d0p3идр., которые форматируются и монтируются в дерево каталогов.


пятница, 15 июля 2016 г.

Кластер postgresql с pgpool

Небольшая хаутушечка по настройке pgpool-кластера с steaming replication postgres.

1. Подготовка посгреса.

Необходимо настроить потоковую репликацию.
Первым делом необходимо настроить авторизацию юзера postgres на машинах кластера по ssh-ключам без пароля (причем, не забыть про коннект по ssh к самому себе). ssh-keygen и ssh-copy-id в помощь.

Конфиг postgresql.conf лучше иметь одинаковый (за исключением директивы archive_command), что на мастере, что на слейве - так удобнее и проще, тоже самое касается каталогов с базой и архивлогами.

Добавляем директивы:

hot_standby = on // указывает что слейв будет в одноименном режиме, т.е. с него возможны селекты; на мастере она игнорируется
wal_level = hot_standby     // директива для мастера, указывает режим репликации; на слейве игнорируется
max_wal_senders = 4    // число процессов репликации, должно быть не меньше числа слейвов
wal_keep_segments = 12    // сколько хранить wal-логов, если число будет слишком маленьким - слейв не сможет засинхронизироваться после длительного оффлайна
archive_mode = on    // дополнение к потоковой репликации, ускоряет синхронизацию после длительного оффлайна
archive_command = 'rsync -aq %p <slave-name>:/somedir/archive/%f' // команда для отправки файликов архив-логов. единственный параметр, который будет различаться на мастере и слейве (мастер указывает на слейв, слейв на мастер)

Потоковая репликация в Postgresql

Все изменения в master будут немедленно отражены на standby.
 
   ----------------              -------------------------
  |   Master       |            | Standby (Только чтение) |
  | 192.168.56.101 |----------->|    192.168.56.102       |
   ----------------    данные   -------------------------
Настройки на Master
  1. Измените /var/lib/pgsql/9.3/data/postgresql.conf
2.  wal_level = hot_standby  
3.  max_wal_senders = 2          // Maximum number of standby DB can support
wal_keep_segments = 5000     // Write ahead log segment size; maximum disk space for pg_xlog/ is 16MB x 5000 = 80GB
  1. Измените /var/lib/pgsql/9.3/data/pg_hba.conf
    Дайте права relication user на соединение с master (IP = 192.168.56.102) to connect to the master.
host    replication    replication     192.168.56.102/32    md5
  1. Создайте пользователя replication
6.  $ su postgres
7.  $ psql -d postgres -c "create user replication superuser password'12345';"
8.  $ exit
9.  $ /etc/init.d/postgresql-9.3 restart

Postgresql dump по сети

Передача дампа по сети из одной базы в другую.

На отправителе.

# pg_dump databasename | nc host_ipadress 8080

На приемнике.

# mkfifo /tmp/pipe

И запускаем. 

# psql -f < /tmp/pipe

# nc -l 8080 > /tmp/pipe

# psql databasename -f /tmp/pipe

Резервное копирование баз данных PostgreSQL

Для того, чтобы сделать «элементарный» backup в postgresql нужно выполнить несколько команд. Итак, приступим :)
Залогинимся под пользователем postgres

$ su - postgres

Посмотрим список баз данных

$ psql -l

Воспользуемся pg_dump — стандартной утилитой для создания резервных копий postgresql. Она имеет достаточно простой синтаксис

$ pg_dump databasename > outputfile

Например для базы данных databasename, это будет выглядеть так

FreeBSD команды мониторинга

Во FreeBSD существует огромное количество средств для получения информации о функционировании системы. Однако некоторые из них спрятаны немного нетривиально.

    Информация о дисках

        mount - показывает смонтированные подразделы и флаги из монтирования

        df - показывает смонтированные подразделы, их размер и свободное место на них

        fdisk /dev/ad0 - показывает информацию о диске ad0 и разделах на нем

        disklabel /dev/ad0s1 - показывает список подразделов в первом разделе диска ad0

        swapinfo - показывает список подразделов свопинга на дисках и их использование

        fstat - показывает список открытых файлов (имена файлов не выводятся)

        pstat -f - выводит список открытых файлов (имена файлов не выводятся)

        systat -vmstat n - каждые n секунд выводит количество транзакций с диском в секунду, объем записанных/считанных данных на диск в секунду, средний размер транзакции и процент времени в течение которого диск был занят работой.

Загрузка FreeBSD со старым ядром

Бывает, что после сборки и установки нового ядра не все так хорошо, как хотелось. Соответственно необходимо воспользоваться возможностью восстановления предыдущего ядра, после неудачной загрузки нового.

При загрузке необходимо выбрать 6 пункт меню (loader prompt).

Выгружаем ядро:

OK unload

Далее загружаем предыдущее ядро (и радуемся, что разработчики системы позаботились об этой возможности)

OK load /boot/kernel.old/kernel

Даем команду загрузки системы

boot

Система начинает загрузку с бекапным ядром.

ПРИМЕЧАНИЕ: Возможно загрузчик может не видеть диск с которого нужно загружать ядро, тогда нужно воспользоваться командой:

OK set currdev=disk1s1a
OK set rootdev=disk1s1a

или командой lsdev просмотреть список известных дисков и разделов, чтобы поставить свой вместо disk1s1a.

Найдено на просторах интернет.

Настройка ядра Linux для поддержки большого числа соединений (~100k) и защиты от DDOS

Пособирал по интернету интересные настройки ядра Linux для обеспечения бесперебойной работы серверов, имеющих дело в большим количеством подключений: торрент-трекеры, вебсерверы и т.д. Один из моих серверов с данными настройками выдержал 258014 соединений. Может быть, выдержал бы и больше, не знаю. Соединения считались с помощью wc -l /proc/net/ip_conntrack.

net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.all.send_redirects = 0


Не принимать и не отправлять ICMP-пакеты перенаправления. ICMP-перенаправления могут быть использованы злоумышленником для изменения таблиц маршрутизации. Целесообразно выставить в «0». Единица имеет смысл только для хостов, использующихся в качестве маршрутизаторов.

Cron


* * * * * выполняемая команда
- - - - -
| | | | |
| | | | ----- День недели (0 - 7) (Воскресенье =0 или =7)
| | | ------- Месяц (1 - 12)
| | --------- День (1 - 31)
| ----------- Час (0 - 23)
------------- Минута (0 - 59)


cron — демон-планировщик задач в UNIX-подобных операционных системах, использующийся для периодического выполнения заданий в определённое время. Регулярные действия описываются инструкциями, помещенными в файлы crontab, которые находятся в каталоге[1]:

/usr/spool/cron/crontabs

или

/var/spool/cron/tabs


Команды управляния pfctl

pfctl -d выключить пакет-фильтр
pfctl -e включить пакет-фильтр
pfctl -f /etc/pf.conf загрузить конфиг из /etc/pf.conf
pfctl -n -f /etc/pf.conf проверить на ошибки /etc/pf.conf, но не загружать его
pfctl -R -f /etc/pf.conf загрузить только правила фитрации
pfctl -N -f /etc/pf.conf загрузить только правила NAT
pfctl -O -f /etc/pf.conf load загрузить только опции
pfctl -F all сбросить все
pfctl -F rules сбросить только правила фильтрации
pfctl -F queue сбросить только очереди
pfctl -F nat сбросить правила NAT
pfctl -F info сбросить всю статистику
pfctl -z clear очистить все счетчики
pfctl -s rules показать текущие правила фильтрации
pfctl -v -s rules show показать информацию по каждому правилу фильтрации
pfctl -vvsr показать текущие правила фильтрации с добавлением номера правила
pfctl -v -s nat показать текущие правила NAT отдельно по каждому правилу
pfctl -s nat -i xl1 показать правила NAT для интерфейса xl1
pfctl -s queue показать очереди
pfctl -s state показать текущее состояние таблиц
pfctl -s info показать статистику правил и состояние счетчиков
pfctl -s all показать все что можно

pfctl -t testtable -T show просмотр содержимого таблицы
pfctl -t testtable -T show -v более подробной статистики по каждому адресу
pfctl -t testtable -T add 192.168.1.1 добавление адресов в таблицу
pfctl -t testtable -T delete 192.168.1.1 удаление адресов из таблицы

Взято отсюда.

Отключение SELinux в RHEL/Cent/OS/Fedora

Для отключения SELinux вы можете использовать любой из 4-ех описанных методов.

Мы не будем подробно останавливаться на том, для чего используется SELinux, и приступим непосредственно к отключению. Если в системе используется SELinux, то выполнив команду ls -Z вы можете увидеть такую картинку.

# ls -Z /etc/-rw-r--r--  root root  system_u:object_r:etc_t:s0       a2ps.cfg
-rw-r--r--  root root  system_u:object_r:adjtime_t:s0   adjtime
-rw-r--r--  root root  system_u:object_r:etc_aliases_t:s0 aliases
drwxr-x---  root root  system_u:object_r:auditd_etc_t:s0 audit
drwxr-xr-x  root root  system_u:object_r:etc_runtime_t:s0 blkid
drwxr-xr-x  root root  system_u:object_r:bluetooth_conf_t:s0 bluetooth
drwx------  root root  system_u:object_r:system_cron_spool_t:s0 cron.d
-rw-rw-r--  root disk  system_u:object_r:amanda_dumpdates_t:s0 dumpdates

Метод 1: Временное отключение SELinux

Для временного отключения SELinux вы можете модифицировать файл /selinux/enforce. Обратите внимание, это временное отключение, и после перезагрузки системы SELinux будет работать снова.

# cat /selinux/enforce
1
# echo 0 > /selinux/enforce
# cat /selinux/enforce
0

Узнать WWN или WWPN на HP-UX

1.Определяем девайсы и H/W Path всех HBA установленных в системе.

# ioscan -knfC fc
Class     I  H/W Path        Driver   S/W State   H/W Type     Description
===========================================================================
fc        0  0/0/6/0/0/4/0   fcd      CLAIMED     INTERFACE    HP A9784-60002 PCI/PCI-X Fibre Channel FC/GigE Combo Adapter (FC Port 1)
                            /dev/fcd0
fc        1  0/0/10/0/0/4/0  fcd      CLAIMED     INTERFACE    HP A9784-60002 PCI/PCI-X Fibre Channel FC/GigE Combo Adapter (FC Port 1)
                            /dev/fcd1
fc        2  0/0/12/0/0/4/0  fcd      CLAIMED     INTERFACE    HP A9784-60002 PCI/PCI-X Fibre Channel FC/GigE Combo Adapter (FC Port 1)
                            /dev/fcd2
fc        3  0/0/14/0/0/4/0  fcd      CLAIMED     INTERFACE    HP A9784-60002 PCI/PCI-X Fibre Channel FC/GigE Combo Adapter (FC Port 1)
                            /dev/fcd3

Работа с PostgreSQL: настройка и масштабирование

Работа с PostgreSQL: настройка и масштабирование

Работа с PostgreSQL: настройка и масштабирование

А. Ю. Васильев aka leopard

Creative Commons Attribution-Noncommercial 4.0 International
2010–2014

четверг, 14 июля 2016 г.

Linux монтирование по UUID и LABEL

Определение UUID.

# vol_id --uuid {/dev/device}
# vol_id --uuid /dev/sdb2
$ sudo vol_id --uuid /dev/sdb2

Пример вывода:

41c22818-fbad-4da6-8196-c816df0b7aa8

$ sudo blkid

Пример вывода:

/dev/sda1: TYPE="ntfs" UUID="A0F0582EF0580CC2"
/dev/sda2: UUID="8c2da865-13f4-47a2-9c92-2f31738469e8" SEC_TYPE="ext2" TYPE="ext3"
/dev/sda3: TYPE="swap" UUID="5641913f-9bcc-4d8a-8bcb-ddfc3159e70f"
/dev/sda5: UUID="FAB008D6B0089AF1" TYPE="ntfs"
/dev/sdb1: UUID="32c61b65-f2f8-4041-a5d5-3d5ef4182723" SEC_TYPE="ext2" TYPE="ext3"

/dev/sdb2: UUID="41c22818-fbad-4da6-8196-c816df0b7aa8" SEC_TYPE="ext2" TYPE="ext3" 


Отправить письмо через telnet

$ telnet 192.168.11.68 25
Trying 192.168.11.68...
Connected to 192.168.11.68.
Escape character is '^]'.
220 internal.example.com ESMTP Postfix
helo example.com
250 internal.example.com
mail from:<sysadmin@example.com>
250 2.1.0 Ok
rcpt to:<sysadmin@example.com>
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
Subject:ALARM!
Device is unreachable              
.
250 2.0.0 Ok: queued as 023B9CDAF
quit
221 2.0.0 Bye

Linux принудительная смена пароля пользователя

Найдено на просторах интернета.

В данной небольшой заметке речь зайдет о принудительной смене пароля после первого подключения нового пользователя. Думаю, не нужно говорить для чего это применяется. Вы можете использовать одну из следующих команд:

usermod command - Изменение различных опций в аккаунте пользователя включая срок действия пароля

chage command - Изменение периода действия пароля.

Задача: используем команду chage для принуждения пользователя к смене пароля после первого подключения

Используем следующий синтаксис:
chage -d 0 {user-name}

# chage -d 0 tom

  -d 0 : Устанавливаем количество дней с 1 января 1970 года, когда должен быть изменени пароль. При установке значения в ноль, вы заставляете пользователя сменить пароль после первого же подключения.        

Для дальнейшего чтения

man страницы usermod и chage

Top-ы

Обзор практически всех *top утилит под linux (atop, iotop, htop, foobartop и т.д.).

top


Все мы знаем top — самую простую и самую распространённую утилиту из этого списка. Показывает примерно то же, что утилита vmstat, плюс рейтинг процессов по потреблению памяти или процессора. Совсем ничего не знает про загрузку сети или дисков. Позволяет минимальный набор операций с процессом: renice, kill (в смысле отправки сигнала, убийство — частный случай). По имени top суффикс "-top" получили и все остальные подобные утилиты в этом обзоре.


atop




Atop имеет два режима работы — сбор статистики и наблюдение за системой в реальном времени. В режиме сбора статистики atop запускается как демон и раз в N времени (обычно 10 мин) скидывает состояние в двоичный журнал. Потом по этому журналу atop'ом же (ключ -r и имя лог-файла) можно бегать вперёд-назад кнопками T и t, наблюдая показания atop'а с усреднением за 10 минут в любой интересный момент времени.

Команды Linux на одном листе

Найдено на просторах интернета.

Команда
Описание
Системная информация
arch
отобразить архитектуру компьютера
uname -m
uname -r
отобразить используемую версию ядра
dmidecode -q
показать аппаратные системные компоненты - (SMBIOS / DMI)
hdparm -i /dev/hda
вывести характеристики жесткого диска
hdparm -tT /dev/sda
протестировать производительность чтения данных с жесткого диска
cat /proc/cpuinfo
отобразить информацию о процессоре
cat /proc/interrupts
показать прерывания
cat /proc/meminfo
проверить использование памяти
cat /proc/swaps
показать файл(ы) подкачки
cat /proc/version
вывести версию ядра
cat /proc/net/dev
показать сетевые интерфейсы и статистику по ним
cat /proc/mounts
отобразить смонтированные файловые системы
lspci -tv
показать в виде дерева PCI устройства
lsusb -tv
показать в виде дерева USB устройства
date
вывести системную дату
cal 2007
вывести таблицу-календарь 2007-го года
date 041217002007.00
установить системные дату и время ММДДЧЧммГГГГ.СС (МесяцДеньЧасМинутыГод.Секунды)
clock -w
сохранить системное время в BIOS

Остановка системы
shutdown -h now
Остановить систему
init 0
telinit 0
shutdown -h hours:minutes &
запланировать остановку системы на указанное время
shutdown -c
отменить запланированную по расписанию остановку системы
shutdown -r now
перегрузить систему
reboot
logout
выйти из системы

Файлы и директории

cd /home
перейти в директорию '/home'
cd ..
перейти в директорию уровнем выше
cd ../..
перейти в директорию двумя уровнями выше
cd
перейти в домашнюю директорию

Скрипт для закачки с помощью wget

Найдено на просторах интернета.

Задача.

1. Скачивание списка ссылок из файла
2. Скачивание одновременно нескольких файлов
3. Перенос неудавшихся закачек в отдельный список для дальнейших повторных попыток.


#!/bin/sh
log_dir="${PWD}/log"
list_dir="${PWD}/list"
output_dir=${PWD}
# download_list - файл ссылок для скачивания
download_list="${list_dir}/download.lst"
# В active_list записываются активные закачки
active_list="${list_dir}/active.lst"
# В done_list записываются скачанные ссылки
done_list="${list_dir}/done.lst"
# В error_list записываются неудавшиеся закачки
error_list="${list_dir}/error.lst"
# $timeout - время перед повторной попыткой скачивания неудавшейся закачки
timeout=5


14 команд для управления PgSQL

1. Как изменить root пароль в PostgreSQL?

$ /usr/local/pgsql/bin/psql postgres postgres
Password: (oldpassword)
# ALTER USER postgres WITH PASSWORD ‘tmppassword’;
$ /usr/local/pgsql/bin/psql postgres postgres
Password: (tmppassword)

Изменение пароля для обычного пользователя происходит таким же образом. Пользователь root может поменять пароль любому пользователю.

# ALTER USER username WITH PASSWORD ‘tmppassword’;

2. Как установить PostgreSQL в автозапуск?

$ su - root
# tar xvfz postgresql-8.3.7.tar.gz
# cd postgresql-8.3.7
# cp contrib/start-scripts/linux /etc/rc.d/init.d/postgresql
# chmod a+x /etc/rc.d/init.d/postgresql

3. Проверяем состояние сервера

$ /etc/init.d/postgresql status
Password:
pg_ctl: server is running (PID: 6171)
/usr/local/pgsql/bin/postgres “-D” “/usr/local/pgsql/data”
[Замечание: Это сообщение говорит о том, что сервер запущен и работает нормально]
$ /etc/init.d/postgresql status
Password:
pg_ctl: no server running
[Замечание: Это сообщение готоворит о том, что сервер не запущен]


Начало работы с PostgreSQL

PostgreSQL — это кроссплатформенная объектно-реляционная СУБД с открытым исходным кодом. Из этой статьи вы узнаете, как установить PostgreSQL в Ubuntu Linux, подключиться к нему и выполнить пару простых SQL-запросов, а также о том, как настроить резервное копирование.

Чтобы установить PostgreSQL 9.2 в Ubuntu 12.10, выполните следующие команды:

#sudo apt-add-repository ppa:pitti/postgresql
#sudo apt-get update
#sudo apt-get install postgresql-9.2

Попробуем поработать с СУБД через оболочку:

#sudo -u postgres psql

Создадим тестовую базу данных и тестового пользователя:

postgres=# CREATE DATABASE test_database;
CREATE DATABASE

postgres=# CREATE USER test_user WITH password 'qwerty';
CREATE ROLE

postgres=# GRANT ALL privileges ON DATABASE test_database TO test_user;
GRANT

Для выхода из оболочки введите команду \q.


10 примеров использования команды dig

Итак, что такое dig?

dig (англ. слово «копать», а формально — сокращение от «domain information groper») — утилита (DNS-клиент), предоставляющая пользователю интерфейс командной строки для обращения к системе DNS. Позволяет задавать различные типы запросов и запрашивать произвольно указываемые сервера. Является аналогом утилиты nslookup.

Утилита dig входит в стандартный комплект DNS сервера BIND.

Начнем,

1. Простой вывод команды dig (для понимания вывода, без доп.параметров )

Когда вы задаете имя домена в команде dig по-умолчанию вы получаете A-запись домена (ip-адрес сайта (домена) который мы запрашивали) как показано на листинге ниже

$dig ya.ru

; <<>> DiG 9.7.3 <<>> ya.ru
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31244
;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;ya.ru.                         IN      A

;; ANSWER SECTION:
ya.ru.                  2187    IN      A       87.250.251.3
ya.ru.                  2187    IN      A       77.88.21.3
ya.ru.                  2187    IN      A       213.180.204.3
ya.ru.                  2187    IN      A       93.158.134.3
ya.ru.                  2187    IN      A       213.180.193.3
ya.ru.                  2187    IN      A       87.250.250.203
ya.ru.                  2187    IN      A       93.158.134.203
ya.ru.                  2187    IN      A       87.250.250.3

;; Query time: 2 msec
;; SERVER: 10.218.138.252#53(10.218.138.252)
;; WHEN: Fri Mar 23 15:21:18 2012
;; MSG SIZE  rcvd: 151


HP-UX Auto Port Aggregatin

Технология Auto Port Aggregation в HP-UX дает возможность логически группировать от двух до 32-х физических сетевых порта. Для создания APA необходимо наличие в системе пакета J4240AA

1. Подготовка.

Проверяем наличие пакета в системе.

# swlist |grep J4240AA

в ответ должны получить ответ следующего вида:

J4240AA                                       B.11.31.40     Auto-Port Aggregation Software

В случае отсутствия пакета J4240AA необходимо его установить. Используем swinstall для установки пакета.


2. Конфигурирование.

Проверяем список и статус сетевых интерфейсов в системе.

# nwmgr -g
Name/          Interface Station          Sub-   Interface      Related
ClassInstance  State     Address        system   Type           Interface
============== ========= ============== ======== ============== =========
lan2           UP        0x001E0B5CA6DA igelan   1000Mbps
lan0           UP        0x001E0B5CA6DC igelan   1000Mbps
lan1           UP        0x001E0B5CA6DD igelan   1000Mbps
lan3           UP        0x001E0B5CA6DB igelan   1000Mbps
lan900         DOWN      0x000000000000 hp_apa   hp_apa
lan901         DOWN      0x000000000000 hp_apa   hp_apa
lan902         DOWN      0x000000000000 hp_apa   hp_apa
lan903         DOWN      0x000000000000 hp_apa   hp_apa
lan904         DOWN      0x000000000000 hp_apa   hp_apa


FreeBSD подключение USB клавиатуры в single user mode

1. From Beastie menu, escape to loader prompt.
2. set hint.atkbd.0.flags="0x1"
3. boot -s

Настройка lagg FreeBSD

Добавляем строчку if_lagg_load="YES в loader.conf

# echo 'if_lagg_load="YES"' >> /boot/loader.conf

Подгружаем модуль.

# kldload if_lagg

Проверяем.

# kldstat

Редактируем файл rc.conf

ifconfig_bce0="up"
ifconfig_bce1="up"
cloned_interfaces="lagg0"
ifconfig_lagg0="laggproto failover laggport bce1 laggport bce0 109.71.231.57 netmask 255.255.255.192"

В данном случае главный интерфейс bce1.


Не забудьте закомментировать старые интерфейсы. Так же не забудьте про файрвол(если он настроен), т.к имя интерфейса поменяется.

Перезапускаем.

# /etc/rc.d/netif restart && /etc/rc.d/routing restart

# ifconfig
bce0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=1bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4>
        ether 00:1c:c4:16:8b:c2
        media: Ethernet autoselect (1000baseSX <full-duplex>)
        status: active
        lagg: laggdev lagg0
bce1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=1bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4>
        ether 00:1c:c4:16:8b:c2
        media: Ethernet autoselect (1000baseSX <full-duplex>)
        status: active
        lagg: laggdev lagg0
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        inet 127.0.0.1 netmask 0xff000000
lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=1bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4>
        ether 00:1c:c4:16:8b:c2
        inet 109.71.231.57 netmask 0xffffffc0 broadcast 109.71.231.63
        media: Ethernet autoselect
        status: active
        laggproto failover
        laggport: bce0 flags=0<>
        laggport: bce1 flags=5<MASTER,ACTIVE>

Настройка Bonding в режиме Active-backup на CentOS

1. В директории /etc/sysconfig/network-scripts/ создадим файл ifcfg-bond0 с таким содержанием:

DEVICE=bond0
IPADDR=
NETMASK=
NETWORK=
BROADCAST=
GATEWAY=
DNS1=
DNS2=
BONDING_OPTS=miimon=100 mode=active-backup
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
NM_CONTROLLED=no
IPV6INIT=no

Значения поставьте свои.


2. Меняем содержимое /etc/sysconfig/network-scripts/ifcfg-eth0 на:

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
HWADDR=
NM_CONTROLLED=no
USERCTL=no
MASTER=bond0
SLAVE=yes

3. Меняем содержимое /etc/sysconfig/network-scripts/ifcfg-eth1 на:

DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
HWADDR=
NM_CONTROLLED=no
USERCTL=no
MASTER=bond0
SLAVE=yes

4. Перезапускаем сетевые интерфейсы:

#/etc/init.d/network restart



HP-UX. Замена диска в зеркале LVM

1. Определяем сбойный диск.

# ioscan -fnNC disk
disk     62  64000/0xfa00/0xd    esdisk  NO_HW       DEVICE       offline  HP 36.4GST336753LC
2/0/0/2/0.0x6.0x0
/dev/disk/disk62      /dev/disk/disk62_p2   /dev/rdisk/disk62     /dev/rdisk/disk62_p2
/dev/disk/disk62_p1   /dev/disk/disk62_p3   /dev/rdisk/disk62_p1  /dev/rdisk/disk62_p3 

2. Определяем LV в VG со сбойным диском.

# lvdisplay -v -k /dev/vg00/*

3. Выводим LV из зеркала.

# lvreduce -m 0 -A n -k /dev/vg00/lvol1 0
# lvreduce -m 0 -A n -k /dev/vg00/lvol2 0
# lvreduce -m 0 -A n -k /dev/vg00/lvol3 0
# lvreduce -m 0 -A n -k /dev/vg00/lvol4 0
# lvreduce -m 0 -A n -k /dev/vg00/lvol5 0
# lvreduce -m 0 -A n -k /dev/vg00/lvol6 0
# lvreduce -m 0 -A n -k /dev/vg00/lvol7 0

4.Удаляем сбойный диск из VG.

# vgreduce /dev/vg00 /dev/disk/disk62_p2

В случае если система отказывается удалять.

# vgreduce –f /dev/vg00 /dev/disk/disk62_p2
# vgscan –f /dev/vg00 

5. Проверяем.

# vgdisplay -v vg00

6. До замены диска выполняем.

#  scsimgr replace_wwid –D /dev/rdisk/disk62