Example Admin
Различия
Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
example:example_admin [24.04.2017 04:51] admin |
example:example_admin [06.06.2019 20:02] (текущий) admin Approved(admin 2019/06/06 20:02) |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| + | |||
| + | ==== perf ==== | ||
| <code bash> | <code bash> | ||
| + | # профилирование ###perf ###oprofile ###nmi | ||
| + | yum --enablerepo='base-debuginfo' install kernel-debuginfo-`uname -r` kernel-devel perf oprofile gdb kexec-tools crash | ||
| + | perf top -d 5 -U | ||
| + | perf top -d 5 -g -U | ||
| + | perf stat -e task-clock,cycles,instructions,cache-references,cache-misses sleep 5 | ||
| + | perf record -a sleep 5 и потом perf report | ||
| + | |||
| + | # профилирование ###perf ###oprofile ###nmi | ||
| + | echo 0 > /proc/sys/kernel/nmi_watchdog | ||
| + | opcontrol --deinit | ||
| + | opcontrol --init | ||
| + | opcontrol --reset | ||
| + | opcontrol --start --vmlinux=/usr/lib/debug/lib/modules/2.6.32-642.el6.x86_64/vmlinux | ||
| + | # но иногда можно и --no-vmlinux если нам не важно про ядро, а только про юспейс | ||
| + | # если баг Failed to open profile device: Device or resource busy, то стопаем все виртуалки KVM, одна из них залочила nmi | ||
| + | sleep 10 # ждем сбора статистики | ||
| + | opcontrol --stop | ||
| + | # включаем watchdog обратно | ||
| + | echo 1 > /proc/sys/kernel/nmi_watchdog | ||
| + | </code> | ||
| + | |||
| + | |||
| + | ==== grub ==== | ||
| + | <code bash> | ||
| + | # grub запустить ядро 1 раз ###savedefault ###default=0 ###once | ||
| + | grub> savedefault --default=0 --once | ||
| + | grub> quit | ||
| + | # обязательно уберите rdshell в меню тестового ядра | ||
| + | </code> | ||
| + | |||
| + | ==== Статистика и диагностика ==== | ||
| + | <code bash> | ||
| + | # Кто использует swap ###swap | ||
| + | smem -kts swap | ||
| + | |||
| + | # Насколько используется диск ###disk ###io ###iostat | ||
| + | iostat -kt 1 | ||
| + | |||
| + | # Кто использует диск ###iotop ###disk ###io | ||
| + | iotop -kPd 5 | ||
| + | |||
| + | #Разовый top по всем процессам ###top | ||
| + | top -n 1 -b | ||
| + | |||
| + | # Кто использует swap ###swap | ||
| + | smem -kts swap | ||
| + | |||
| + | # slab ###slab | ||
| + | vmstat -m | ||
| + | |||
| + | # Просмотр памяти активности за дату 21 число в 16 часов ###sar ###stat ###loadavg | ||
| + | LANG=C sar -r -f /var/log/sa/sa21 | grep 16: | ||
| + | # Просмотр swap активности за дату 21 число в 16 часов ###sar ###stat ###loadavg | ||
| + | LANG=C sar -S -f /var/log/sa/sa21 | grep 16: | ||
| + | # Просмотр loadavg за дату 21 число в 16 часов ###sar ###stat ###loadavg | ||
| + | LANG=C sar -q -f /var/log/sa/sa21 | grep 16: | ||
| + | # Просмотр использования cpu активности за дату 21 число в 16 часов ###sar ###stat ###loadavg | ||
| + | LANG=C sar -u -f /var/log/sa/sa21 | grep 16: | ||
| + | # Просмотр занятой памяти под direntry | ||
| + | sar -v 0 | ||
| + | |||
| + | </code> | ||
| + | |||
| + | ==== ssh back-connect ==== | ||
| + | |||
| + | <code bash> | ||
| + | # В данной заметке пойдёт речь про более хитрое использование SSH для оказания удалённой помощи серверу, находящемуся за NAT. | ||
| + | # Заходим на машину клиента: | ||
| + | ssh root@10.90.10.150 | ||
| + | # На машине клиента выполняем команду | ||
| + | ssh -R 1522:localhost:22 root@gate.carbonsoft.ru -p 22 | ||
| + | # Вводим пароль и установливаем соединение. | ||
| + | # Далее на gate.carbonsoft.ru выполняем вход к клиенту. | ||
| + | ssh root@localhost -p 1522 | ||
| + | </code> | ||
| + | |||
| + | ==== systemd ==== | ||
| + | |||
| + | Очистка кэша DNS | ||
| + | |||
| + | <code> | ||
| + | systemd-resolve --flush-caches | ||
| + | </code> | ||
| + | <code bash> | ||
| + | # Загрузить ядро без проверки сигнатур ###kernel ###options ###module ###sig ###signature | ||
| + | title 2.6.32 | ||
| + | kernel /boot/bzImage badsigok | ||
| + | # кто использует swap ###swap ###freemem #smem | ||
| + | smem -kts swap | ||
| + | |||
| + | # текущая нагрузка на диск ###disk ###io ###stat | ||
| + | iostat -kt 1 | ||
| + | |||
| + | # кто использует диск ###disk ###io ###stat | ||
| + | iotop -kPd 1 | ||
| + | |||
| # Показать все софтрейды ###mdadm ###softraid | # Показать все софтрейды ###mdadm ###softraid | ||
| mdadm --detail --scan --verbose | mdadm --detail --scan --verbose | ||
| Строка 19: | Строка 117: | ||
| # создать рейд 10 с 4x скоростью линейного чтения и 1x записи(--layout=f2) ###mdadm ###create | # создать рейд 10 с 4x скоростью линейного чтения и 1x записи(--layout=f2) ###mdadm ###create | ||
| mdadm --create /dev/md100 --level=10 --auto=no --assume-clean --chunk=512K --raid-devices=4 --layout=f2 /dev/sda1 missing /dev/sdd1 missing | mdadm --create /dev/md100 --level=10 --auto=no --assume-clean --chunk=512K --raid-devices=4 --layout=f2 /dev/sda1 missing /dev/sdd1 missing | ||
| - | + | # форматируем для --chunk=512K | |
| - | ###mdadm | + | |
| mkfs.ext4 /dev/md100 -E stride=128,stripe_width=256 | mkfs.ext4 /dev/md100 -E stride=128,stripe_width=256 | ||
| - | ###mdadm | + | # заменить сбойный диск в mdadm ###mdadm |
| - | echo AUTO +imsm +1.x -all > /etc/mdadm.conf | + | mdadm --manage /dev/md0 --fail /dev/sda1 |
| - | + | mdadm --manage /dev/md0 --remove /dev/sda1 | |
| - | ###mdadm | + | mdadm --manage /dev/md0 --add /dev/sda1 |
| - | mdadm --detail --scan >> /etc/mdadm.conf | + | |
| # Отключить selinux ###linux ###selinux | # Отключить selinux ###linux ###selinux | ||
| - | echo 0 > /selinux/enforce;\nvi /etc/selinux/config;\nSELINUX=disabled;\nSELINUXTYPE=targeted;\nSELINUXTYPE=targeted;\nSETLOCALDEFS=0 | + | echo 0 > /selinux/enforce |
| + | vi /etc/selinux/config | ||
| + | SELINUX=disabled | ||
| + | SELINUXTYPE=targeted | ||
| + | SELINUXTYPE=targeted | ||
| + | SETLOCALDEFS=0 | ||
| # Список установленных пакетов ###yum | # Список установленных пакетов ###yum | ||
| Строка 64: | Строка 165: | ||
| rsync -avz --compress-level=1 --progress --inplace --partial /var/lib/libvirt/images/git.qcow2 /var/lib/libvirt/images/git45.img 10.90.1.100:/mnt/voffice | rsync -avz --compress-level=1 --progress --inplace --partial /var/lib/libvirt/images/git.qcow2 /var/lib/libvirt/images/git45.img 10.90.1.100:/mnt/voffice | ||
| - | # доступ по ssh без пароля ###ssh | + | # доступ по ssh без пароля1 ###ssh ###keygen |
| - | ssh-gen ssh-keygen;\n/usr/bin/ssh-copy-id -i ~/.ssh/id_rsa.pub 10.120.177.33 | + | ssh-keygen |
| + | /usr/bin/ssh-copy-id -i ~/.ssh/id_rsa.pub 10.120.177.33 | ||
| - | # или доступ по ssh без пароля ###ssh | + | # доступ по ssh без пароля2 ###ssh |
| - | ssh-gen ssh-keygen;\ncat ~/.ssh/id_rsa.pub | ssh 10.120.177.33 "cat >> ~/.ssh/authorized_keys" | + | ssh-keygen |
| + | cat ~/.ssh/id_rsa.pub | ssh 10.120.177.33 "cat >> ~/.ssh/authorized_keys" | ||
| # очистить ###mail | # очистить ###mail | ||
| postsuper -d ALL | postsuper -d ALL | ||
| - | # перезагрузить повисший сервер ###reboot | + | # Если сервер повис, перезагрузить повисший сервер ###reboot ###sysrq |
| - | echo 1 > /proc/sys/kernel/sysrq; echo b > /proc/sysrq-trigger; или ALT+SysRq + REISUSSB | + | # спасаем файловую систему ALT+SysRq + REISUSSB |
| + | echo 1 > /proc/sys/kernel/sysrq; echo b > /proc/sysrq-trigger | ||
| + | # или с клавиатуры ALT+SysRq + REISUSSB | ||
| + | # или | ||
| + | echo 1 > /proc/sys/kernel/sysrq | ||
| + | echo r > /proc/sysrq-trigger | ||
| + | echo e > /proc/sysrq-trigger | ||
| + | echo i > /proc/sysrq-trigger | ||
| + | echo s > /proc/sysrq-trigger | ||
| + | echo u > /proc/sysrq-trigger | ||
| + | echo s > /proc/sysrq-trigger | ||
| + | echo b > /proc/sysrq-trigger | ||
| + | |||
| + | # centos 6 как добавить src route стандартными средствами ###centos ###rule ###route | ||
| + | route ip rule Настройка ip rule | ||
| + | cd network-scripts | ||
| + | cat rule-vmbr0 | ||
| + | from 192.168.1.0/24 iif venet0 lookup internal | ||
| + | from 192.168.1.0/24 to 192.168.1.0/24 iif venet0 lookup main | ||
| + | |||
| </code> | </code> | ||
| + | |||
| + | |||
| + | ~~OWNERAPPROVE~~ | ||
| + | |||