Example Admin

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
example:example_admin [24.04.2017 06:27]
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 ​
Строка 22: Строка 120:
 mkfs.ext4 /dev/md100 -E stride=128,​stripe_width=256 mkfs.ext4 /dev/md100 -E stride=128,​stripe_width=256
  
 +# заменить сбойный диск в mdadm ###mdadm
 +mdadm --manage /dev/md0 --fail /dev/sda1
 +mdadm --manage /dev/md0 --remove /dev/sda1
 +mdadm --manage /dev/md0 --add /dev/sda1
  
 # Отключить selinux ###linux ###selinux # Отключить selinux ###linux ###selinux
Строка 63: Строка 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 без пароля1 ###ssh +# доступ по ssh без пароля1 ###​ssh ​###keygen 
-ssh-gen ​ssh-keygen+ssh-keygen
 /​usr/​bin/​ssh-copy-id -i ~/​.ssh/​id_rsa.pub 10.120.177.33 /​usr/​bin/​ssh-copy-id -i ~/​.ssh/​id_rsa.pub 10.120.177.33
  
 # доступ по ssh без пароля2 ###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
Строка 97: Строка 200:
  
 </​code>​ </​code>​
 +
 +
 +~~OWNERAPPROVE~~
 +