Debian, установка и настройка LVM в OS Linux

Менеджер логических томов (англ. Logical Volume Manager) — менеджер логических томов операционных систем Linux и OS/2. LVM — это метод распределения пространства жёсткого диска по логическим томам, размер которых можно легко менять, в отличие от разделов.

Для работы lvm нужен пакет lvm2

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

dpkg -l | grep lvm

Подготавливает физический том (тома) к использованию в LVM

pvcreate /dev/sda

Создаем группу томов.

vgcreate group1 /dev/sda

Чтобы включить в группу томов другие диски, то пишем

vgcreate group1 /dev/sda /dev/XXX

Создаем логические тома part1 и part2 размером по 20G

lvcreate -L20000 -n part1 group1
lvcreate -L20000 -n part2 group1
Проверяем
lvscan
Форматируем разделы
mkfs.ext4 /dev/group1/part1
mkfs.ext4 /dev/group1/part2
Монтируем
mkdir /mnt/part1
mkdir /mnt/part2
mount /dev/group1/part1 /mnt/part1
mount /dev/group1/part2 /mnt/part2
Увеличиваем том до 40G
umount /mnt/part1
lvextend -L40G /dev/group1/part1
Теперь необходимо увеличить размер файловой системы.
resize2fs /dev/group1/part1
Уменьшение логического тома (есть вероятность потерять данные)
lvreduce -L-10G /dev/group1/part1

Команды:

dumpconfig Сбрасывает дамп активной конфигурации
formats Показывает список доступных форматов метаданных
help Выводит справочную информацию о командах
lvchange Изменяет атрибуты логического тома (томов)
lvcreate Создаёт логический том
lvdisplay Выводит информацию о логическом томе
lvextend Добавляет пространство в логический том
lvmchange По причине использования сопоставителя устройств, эта команда является устаревшей
lvmdiskscan Выводит список устройств, которые можно использовать как логические тома
lvmsadc Собирает данные об активности
lvmsar Создаёт отчёт об активности
lvreduce Уменьшает размер логического тома
lvremove Удаляет логический том(а) из системы
lvrename Переименовывает логический том
lvresize Изменяет размер логического тома
lvs Выводит информацию о логических томах
lvscan Выводит список всех логических томов во всех группах томов
pvchange Изменяет атрибуты физического тома (томов)
pvcreate Подготавливает физический том (тома) к использованию в LVM
pvdata Выводите записанные на диск метаданные о физических томах (томе)
pvdisplay Выводит различные атрибуты физического тома (томов)
pvmove Перемещает блоки с одного физического тома на другой
pvremove Удаляет LVM-метку (метки) с физического тома (томов)
pvresize Изменяет размер физического тома, используемого группой томов
pvs Выводит информацию о физических томах
pvscan Выводит список всех физических томов
segtypes Выводит список доступных типов сегментов
vgcfgbackup Делает резервную копию конфигурации группы томов
vgcfgrestore Восстанавливает резервную копию конфигурации группы томов
vgchange Изменяет атрибуты группы томов
vgck Проверяет целостность группы томов
vgconvert Преобразует формат метаданных группы томов
vgcreate Создаёт группу томов
vgdisplay Выводит информацию о группе томов
vgexport Удаляет регистрацию группы томов из системы
vgextend Добавляет физические тома в группу томов
vgimport Регистрирует экспортированную группу томов в системе
vgmerge Объединяет группы томов
vgmknodes Создаёт специальные файлы для устройств групп томов в /dev/
vgreduce Удаляет физический том из группы томов
vgremove Удаляет группу томов
vgrename Переименовывает группу томов
vgs Выводит информацию о группах томов
vgscan Ищет все группы томов
vgsplit Перемещает физические тома в новую группу томов
version Выводит информацию о версии программы и драйвера
Опубликовано в Linux

Linux, спискок установленных пакетов

Просмотр списка установленных пакетов

dpkg --list

Red Hat/Fedora Core/CentOS Linux

В Red Hat/Fedora Core/CentOS Linux и т.п.

# rpm -qa | less

Debian Linux

# dpkg --get-selections

Ubuntu Linux

# sudo dpkg --get-selections
# dpkg --list

FreeBSD

# pkg_info | less
# pkg_info apache

Используйте команду pkg_version чтобы показать общий список версий всех установленных пакетов в FreeBSD:

# pkg_version | less
# pkg_version | grep 'lsof'

OpenBSD

В OpenBSD команда use pkg_info так же ведет себя как и в FreeBSD и покажет список установленных пакетов:

# pkg_info | less
# pkg_info apache
Опубликовано в Linux

Миграция RedHat RHN Classic to RHSM

Red Hat is transitioning from the Red Hat Network (RHN) hosted interface to the Red Hat Subscription Management (RHSM) interface in July 2017. Red Hat has invested in and seen success from RHN for many years, and has used that experience to build more robust technologies like RHSM.

RHSM will provide solutions that are easier to navigate and scale, and tooling to manage your subscription assignments via the Red Hat Customer Portal. Systems registered as clients to Red Hat Network Classic Hosted either directly or indirectly with Red Hat Proxy need to migrate to RHSM interface tools.

If you are using legacy technologies, you need to shift to RHSM by July 2017.

До июля 2017 года надо будет мигрировать свои системы в новый RHSM, сделать это очень просто:

в командной строке RHEL-системы выполнить:

yum install subscription-manager-migration subscription-manager-migration-data
rhn-migrate-classic-to-rhsm

Ввести свой логин и пароль (который указываете при регистрации в setup). Системы удалят себя из старой RHN Classic и зарегистрируются в новой RHSM.

Проверьте что файл /etc/sysconfig/rhn/systemid не существует (переименован в systemid.save)

subscription-manager register --force  - насильно зарегистрировать систему в RHSM
subscription-manager attach --auto - приатачить систему для получения обновлений

Прикольные команды Linux

Рейтинг часто употребляемых команд из истории:

history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head

Вывести в правом верхнем углу часы:

while sleep 1;do tput sc;tput cup 0 $(($(tput cols)-29));date;tput rc;done &

Вывести инфу по подключениям и их количеству:

netstat -an | grep ESTABLISHED | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | awk '{ printf("%s\t%s\t",$2,$1) ; for (i = 0; i < $1; i++) {printf("*")}; print "" }'

Узнать свой текущий внешний IP

wget http://ipinfo.io/ip -qO -

Вывод статистики fail2ban  сгруппировкой по jail и ip

grep "Ban " /var/log/fail2ban.log | awk -F[\ \:] '{print $10,$8}' | sort | uniq -c | sort -n

Разбанить fail2ban по имени jail и IP адресу.

fail2ban-client set vsftpd unbanip 172.0.2.198

Удалить файлы без каталогов и симлинков

find /usr/sap/SM1/DVEBMGS00/work/ -type f -exec rm -f {} \;

Количество файлов в каталоге

ls -f . | wc -l

Отображение статистики iostat в удобном виде с обновлением раз в 10 секунд

iostat -xk -t 10 | awk '// {print strftime("%Y-%m-%d %H:%M:%S"),$0}'

Длинна очереди дисков в iostat

iostat -x 1 2 | awk 'NR==15 {print $12}'

Найти все симлинки на диске

ls -lR / | grep ^l

Узнать количество процессорных сокетов на системе

cat /proc/cpuinfo | grep "physical id" | sort -n | uniq | wc -l

Узнать количество логических ядер на системе

cat /proc/cpuinfo | grep "cpu cores" | uniq

Добавить свой публичный ключ из id_rsa.pub сразу на сервер 172.0.0.1 в authorized_keys

cat ~/.ssh/id_rsa.pub | ssh root@172.0.0.1 "mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys"

 

Опубликовано в Linux

История запросов в SQLPLUS стрелочкой вверх в Linux

Хотим в Linux вызывать историю запросов в sqlplus стрелочкой вверх, как это делается в Windows:

  1. Устанавливаем пакет rlwrap доступным в вашей системе менеджером пакетов: yum install rlwrap (или apt-get install rlwrap)
  2. логинимся под пользователем, под которым хотим запускать sqlplus: su - orasm1 (например)
  3. для интерпритатора csh создадим алиас для команды: alias sqlplus "rlwrap sqlplus" (для bash - alias sqlplus="rlwrap sqlplus")
  4. запускаем sqlplus / as sysdba и радуемся

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

echo alias sqlplus "rlwrap sqlplus" >> ~/.dbenv_$HOST.csh

Или добавьте в профиль alias sqlplus="rlwrap sqlplus ~/.bashrc для интерпритатора bash.

MacOs. Ошибка при подключении по SSH: Too many authentication failures for root.

Суть проблемы:
Для подключения по SSH вы используете сертификаты для определенных хостов, а для других заходите по паролю. Сертификаты добавлены в keychain (связку ключей) с помощью ssh-add -K *.pem для удобного вызова без указания конкретного сертификата ключом -i. После этого при попытке захода по ssh на сервера, где не настроен сертификат, по паролю получаем ошибку: Too many authentication failures for root (ну или другой пользователь).

Причина:

К сожалению подстановка ключей не интеллектуальна, она не знает к какому хосту какой ключ нужно подставлять. Проверить это можно указав ключ -v при подключении к хосту, где нет сертификатов.

Получим что-то подобное:

OpenSSH_6.9p1, LibreSSL 2.1.7
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 20: Applying options for *
debug1: /etc/ssh/ssh_config line 102: Applying options for *
debug1: Connecting to msk-saprouter [192.0.0.3] port 22.
debug1: Connection established.
debug1: Host 'msk-saprouter' is known and matches the RSA host key.
debug1: Found key in /Users/User/.ssh/known_hosts:3
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Volumes/PEMS/cert1.pem
debug1: Authentications that can continue: publickey,password
debug1: Offering RSA public key: /Volumes/PEMS/cert2.pem
debug1: Authentications that can continue: publickey,password
debug1: Offering RSA public key: /Volumes/PEMS/cert3.pem
Received disconnect from 192.0.0.3: 2: Too many authentication failures for root

Выходит, что сертификаты перебираются по очереди, пока не найдется нужный, или не истечет кол-во попыток неудачного подключения.

 

Решения:

  1. Ииспользовать для хостов без сертификатов ключ -o PubkeyAuthentication=no
    пример: ssh root@192.0.0.3 -o PubkeyAuthentication=no. 
    Для систем с сертификатом ключ будет продолжать подставляться из-за ssh-add -K *.pem.
  2. Изменить порядок методов аутентификации:правим файл sudo nano /etc/ssh/ssh_config

    находим строку: PreferredAuthentications gssapi-with-mic,hostbased,publickey,keyboard-interactive,password

    меняем на: PreferredAuthentications password,gssapi-with-mic,hostbased,publickey,keyboard-interactive.Тогда для всех хостов система будет спрашивать пароль, а для указания сертификата нужно будет воспользоваться ключом -i:
    ssh root@192.0.0.3 -i /Volumes/PEMS/cert1.pem
  3. Создать алиас для команды ssh:
    правим sudo nano ~/.bash_profile
    добавляем строку alias zzh='ssh -o PubkeyAuthentication=no'

    Тогда для доступа по сертификатам используем команду ssh, указывать ключ не придется, а для хостов без сертификата используем команду (алиас) zzh, которая укажет ssh что не нужно использовать сертификаты и она спросит пароль.
  4. Насильно объявить сертификаты для каждого хоста:
    sudo nano ~/.ssh/config:

     Host host1
      IdentityFile /Volumes/PEMS/cert1.pem
      IdentitiesOnly yes
      Port 22
    Host host2
      IdentityFile /Volumes/PEMS/cert2.pem
      IdentitiesOnly yes
      Port 22
    Host host3
      HostName 192.0.0.3
      IdentitiesOnly yes
      Port 22
      User root

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

 

 

 

 

Права на каталоги SAP в Linux

В примере SM1 — SID системы

Можно использовать скрипты saproot.sh and oraroot.sh выставляющие нужные права или раздать их вручную:

 

Чтобы работал brtools и db13:

chown orasm1:sapsys /sapmnt/SM1/exe/brarchive
chown orasm1:sapsys /sapmnt/SM1/exe/brbackup
chown orasm1:sapsys /sapmnt/SM1/exe/brconnect
chown sm1adm:sapsys /sapmnt/SM1/exe/brrecover
chown sm1adm:sapsys /sapmnt/SM1/exe/brrestore
chown sm1adm:sapsys /sapmnt/SM1/exe/brspace
chown sm1adm:sapsys /sapmnt/SM1/exe/brtools
chmod 4774 /sapmnt/SM1/exe/brarchive
chmod 4774 /sapmnt/SM1/exe/brbackup
chmod 4774 /sapmnt/SM1/exe/brconnect
chmod 755 /sapmnt/SM1/exe/brrestore
chmod 755 /sapmnt/SM1/exe/brrecover
chmod 755 /sapmnt/SM1/exe/brspace
chmod 755 /sapmnt/SM1/exe/brtools

 

Пример:

-rwsrwxr--  1 orasid   sapsys    10022600 Aug 23 2012  brarchive
-rwsrwxr--  1 orasid   sapsys    10251536 Aug 23 2012  brbackup
-rwsrwxr--  1 orasid   sapsys    12179560 Aug 23 2012  brconnect
-rwxr-xr-x  1 sidadm   sapsys    10708840 Aug 23 2012  brrecover
-rwxr-xr-x  1 sidadm   sapsys     4140576 Aug 23 2012  brrestore
-rwxr-xr-x  1 sidadm   sapsys    12778384 Aug 23 2012  brspace
-rwxr-xr-x  1 sidadm   sapsys     4711664 Aug 23 2012  brtools

 

 


 

113747 - Owners and authorizations for BR*Tools

Solution

The following settings are required to call the BR*Tools correctly, especially when using transaction DB13 or DBACOCKPIT:

(1)
ora<sid> and <sid>adm on DB server have a search path on /sapmnt/<SID>/exe. (All br* are contained in this directory.)
ora<sid> belongs to the dba group,
<sid>adm belongs to the sapsys group,

(2)
<sid>adm on the database server has the rhosts entry: "+ <sid>adm".

(3)
The Oracle user ops$<sid>adm must be created in the DB and must have the role sapdba (not DBA) (see SAP Note 134592 for more information).

(4)
brarchive, brbackup, and brconnect belong to ora<sid> and have authorization 4774:
-rwsrwxr--   ora<sid>   sapsys   ...

Reason:
Both the operating system (OS) user ora<sid> and the OS user <sid>adm (for example, from SAP R/3, transactions DB13 or DBACOCKPIT) must be able to call these tools. These tools require access authorization to the database directories and files as well as to the log directories (saparch, sapbackup, sapcheck, and sapreorg) of the BR*Tools. To ensure that they can be executed by both ora<sid> and by <sid>adm, they must belong to the user ora<sid>, and the s-bit must be set.

(5)
brrestore, brrecover, brspace, and brtools belong to <sid>adm and have authorization 755:
-rwxr-xr-x   <sid>adm   sapsys   ...

Reason:
These tools may be used only by OS user ora<sid>, but not by <sid>adm. This ensures that the user <sid>adm does not have write permission for the log directories and therefore cannot create any logs. For this, no s-bit is set, and it is not necessary to define an owner other than the standard owner <sid>adm.
If the tools were started using <sid>adm, they would terminate immediately after the start due to the missing log authorization. However, the user ora<sid> can start the programs despite this and also has the required authorization for the log directories.

For example:
-rwsrwxr--  1 orasid   sapsys    10022600 Aug 23 2012  brarchive
-rwsrwxr--  1 orasid   sapsys    10251536 Aug 23 2012  brbackup
-rwsrwxr--  1 orasid   sapsys    12179560 Aug 23 2012  brconnect
-rwxr-xr-x  1 sidadm   sapsys    10708840 Aug 23 2012  brrecover
-rwxr-xr-x  1 sidadm   sapsys     4140576 Aug 23 2012  brrestore
-rwxr-xr-x  1 sidadm   sapsys    12778384 Aug 23 2012  brspace
-rwxr-xr-x  1 sidadm   sapsys     4711664 Aug 23 2012  brtools

Note 1:
On Linux and Solaris 11, you have to adjust the authorization for brarchive, brbackup, and brconnect manually if you want to create RMAN backups with the OS user <sid>adm. For more information, see SAP Note 776505.

Note 2:
Other BR*Tool authorizations apply for Oracle installations with the OS user oracle. For more information, see SAP Note 1598594.

Опубликовано в Linux, SAP

Команды Linux

Системная информация

 

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 - показать файл(ы) подкачки

Продолжить чтение »

Опубликовано в Linux

Вывести графический экран X11 c linux-системы в windows и mac

В Windows:

1. Putty. Connection > SSH > X11 > Enable X11 forwarding. Сюда IP-адрес windows-машины, где запущен Xming.
2. Коннектимся putty к linux-хосту.
3. Xming. Скачиваем, ставим, настраиваем : start no client, no access control
4. Доп параметры xming -dpi 96 -xkblayout us,ru -xkbvariant basic,winkeys
5. Готово. Запускаем xming.
6. В putty  export DISPLAY=<ip address>:0.0
7. Запускаем для теста что-нибудь system-config-users $ ($ для фонового режима)

В MAC:

ssh -Y root@hostname

Нужен установленный xQuartz

P.S. в последнее время работать из коробки перестало, наверно трасты какие-то не настроены,
выключил обе галочки в настройках:

Если не работает eth0 в склонированной виртуальной машине на linux или пропала сеть

Понять что это из-за UDEV. У склонированной машины будет новый ID интерфейса,
ls /sys/class/net
Увидим, что интерфейс-то не тот.

Выполнить
nano /etc/udev/rules.d/70-persistent-net.rules

Убрать оттуда все не нужные строки, не относящиеся не eth0, оставить только строку с описанием eth0, убедиться что mac-адрес с свойствах интерфейса виртуальной машины совпадает со строкой в этом конфиге. Перезагрузиться.

Далее
nano /etc/sysconfig/network-scripts/ifcfg-eth0

Убедиться что mac-адрес также совпадает с интерфейсом виртуальной машины.

Перезапустить сеть
/etc/init.d/network restart

Должно работать!

Опубликовано в Linux

Пример автоматического примонтирования Windows-шары в Linux (через fstab)

Удобно когда нужно выполнить резервное копирование Linux-сервера на бэкап-сервер на Windows

Пример работает на RedHat 6

nano /etc/fstab

//Share-server/Shara$     /usr/Shara/    cifs     rw, workgroukgroup=<workgroup or domain>, auto,user=<Windows User>, password=<PASS>, _netdev, iocharset=utf8, uitf8,uid=<Linux User>, gid=<Linux Group (users)>, file_mode=0666, dir_mode=0777,  0     0

где:

//Share-server/Shara$ - имя сетевой шары ($ - административной)

/usr/Shara/ - каталог, куда монтировать

cifs - тип файловой системы

rw - на чтение и запись

workgroukgroup=<workgroup or domain> - рабочая группа или домен учетной записи Windows, от имени которой Linux будет присоединяться  к шаре

user=<Windows User> - пользователь Windows, под кем Linux будет присоединяться  к шаре

password=<PASS> - пароль учетки Windows

_netdev - признак того, что шара сетевая

uid=<Linux User> - тот Linux-юзер, который будет использовать эту шару (иначе в шару сможет писать только root)

gid=<Linux Group (users)> - группа того Linux-юзера, который будет использовать шару

file_mod и dir_mod  - права на файлы и каталоги.

 

Пример (пробелов между параметрами быть не должно):

//backup-server/SM1_BACKUP     /oracle/SM1/sapbackup_remote    cifs     rw,workgroukgroup=domainname,auto,user=ewmbackup,password=123456,_netdev,iocharset=utf8,uitf8,file_mode=0770,dir_mode=0770,uid=orasm1,gid=dba   0     0

Примечание:

The core CIFS protocol does not provide unix ownership information or mode for files and directories. Because of this, files and directories will generally appear to be owned by whatever values the uid= or gid= options are set, and will have permissions set to the default file_mode and dir_mode for the mount. Attempting to change these values via chmod/chown will return success but have no effect.