Linux sistemlerinde hafıza kullanımı kontrol ile ilgili olarak, genellikle free komutu kontrol ederiz.
Fakat bu kontrol eski ve güncel olmayan sistemlerde, yalnış algılamamıza neden oluyor.
Red Hat 6.x/5.X sistemlerinde aşağıdakilerini görürsünüz.
Gerçekte kullanılabilir sistem hafızamız ise free + buffers + cached
Özetle eski sistemlered Used %100 ve cache de %95 civarındaysa endişelenmeyin.
Sistem rama ihtiyaç olduğunda cached için kullanılan hafızayı hızlıca boşaltarak, serbest bırakır.
Hafızaya ihtiyaç duyan uygulamada, serbest kalan hafızayı anında kullanır. Bir sıkıntı olmaz.
Şayet içiniz rahat olmaz ise kernel parametrelerinden vm.min_free_kbytes değerini artırabilirsiniz.
Bu değeri artırırken abartmaya gerek yok. Büyük hafızalı sistemlerde bile 512MB yeterlidir.
Red Hat 7.x (Oracle veya CentOS 7.x lerde ise) bu yanılmayı düzeltmek için güncelleme yapılmış olup, free komutunun çıktısına ilave olarak kullanılabilir boş hafızayı gösteren available bölümü eklenmiştir. Used bölümündende cache/buff kullanımı çıkartılmıştır.
Özetle eski sistemlerde used, tam olarak used, free de tam olarak free anlamına gelmez.
Eski linux işletim sistemin kullananlara tavsiyem, kullandıkları işletim sisteminin güncel sürümlerine veya uygulamalarının desteklediği en güncel sürüme geçmeleridir.
7 Şubat 2018 Çarşamba
2 Şubat 2018 Cuma
slurmda kuyrukta bekleyen bir işi bir başka kuyruğa taşımak
Slurm kullanırken, kaynak yetersizliğinden beklemekte olan bir işi veya işleri, kaynağı olan başka bir kuyruğa taşımak istersek aşağıdaki scripti kullanabiliriz.
[root@headnode bin ]# cat movejob.sh
#/bin/bash
# 2018.02.02
# Remzi AKYUZ
if [ $# -lt 2 ]
then
echo "Kullanim sekli $0 kullanici_adi yeni_kuyruk"
exit 0
fi
user=$1
newq=$2
for i in $(squeue -u $user -h -t PD -o %i)
do
scontrol update jobid=$i partition=$newq
done
[root@headnode bin ]#
[root@headnode bin ]# cat movejob.sh
#/bin/bash
# 2018.02.02
# Remzi AKYUZ
if [ $# -lt 2 ]
then
echo "Kullanim sekli $0 kullanici_adi yeni_kuyruk"
exit 0
fi
user=$1
newq=$2
for i in $(squeue -u $user -h -t PD -o %i)
do
scontrol update jobid=$i partition=$newq
done
[root@headnode bin ]#
1 Şubat 2018 Perşembe
postfixte - giden mailleri relay üzerinden göndermek
Postfix yüklü sistemlerde giden mailleri, direk göndermek yerine, relay sunucusunun üzerinden göndermek için relayhost tanımını kullanırız.
http://www.postfix.org/postconf.5.html#relayhost
/etc/postfix/main.cf:
http://www.postfix.org/postconf.5.html#relayhost
/etc/postfix/main.cf:
# INTERNET OR INTRANET
# The relayhost parameter specifies the default host to send mail to
# when no entry is matched in the optional transport(5) table. When
# no relayhost is given, mail is routed directly to the destination.
#
# On an intranet, specify the organizational domain name. If your
# internal DNS uses no MX records, specify the name of the intranet
# gateway host instead.
#
# In the case of SMTP, specify a domain, host, host:port, [host]:port,
# [address] or [address]:port; the form [host] turns off MX lookups.
#
# If you're connected via UUCP, see also the default_transport parameter.
#
#relayhost = $mydomain
#relayhost = [gateway.my.domain]
#relayhost = [mailserver.isp.tld]
#relayhost = uucphost
#relayhost = [an.ip.add.ress]
Red Hat Enterprise Linux 5.x/6.x bonding ayarlamak
2009 yılındaki çalışma notumu biraz güncelleyerek burada da olsun istedim.
"RHEL 5.3 uzerinde bonding (Bonding Mode: fault-tolerance (active-backup) )" - Remzi AKYUZ - (2009-08-27 06:01:00)
1. /etc/modprobe.d/bonding.conf dosyasına
alias bond0 bonding
options bonding mode=1 miimon=100
satırı ilave edilir.
2. /etc/sysconfig/network-scripts/ifcfg-bond0 dosyası oluşturulur ve içerisine
DEVICE=bond0
TYPE=bond
ONBOOT=yes
HOTPLUG=no
BOOTPROTO=none
USERCTL=no
NM_CONTROLLED=no
BONDING_OPTS="mode=1 miimon=100"
BROADCAST=192.168.1.255
IPADDR=192.168.1.100
NETMASK=255.255.255.0
NETWORK=192.168.1.0
satırı ilave edilir.
3. bondingde kullanılacak ethernetler ayarlanır. eth1 ve eth2 yi kullanacağız
/etc/sysconfig/network-scripts/ifcfg-eth1 icerisinde aşağıdaki satırlar olmalı.
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
HOTPLUG=no
/etc/sysconfig/network-scripts/ifcfg-eth2 içerisinde aşağıdaki satırlar
DEVICE=eth2
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
HOTPLUG=no
4. Kontrol için
[root@localhost ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.2.4 (January 28, 2008)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth2
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth1
MII Status: down
Link Failure Count: 0
Permanent HW addr: 08:00:27:5c:33:61
Slave Interface: eth2
MII Status: up
Link Failure Count: 0
Permanent HW addr: 08:00:27:a5:24:6a
Son olarakta fiziksel olarak(kablolar sökülüp takılarak test edilir.
Loglardada aşağıdakileri görebiliriz.
#
grep bond /var/log/messages
Aug 27 05:33:55 localhost kernel: bonding: Warning: either miimon or arp_interval and arp_ip_target module parameters must be specified, otherwise bonding will not detect link failures! see bonding.txt for details.
Aug 27 05:33:55 localhost kernel: bonding: bond0: setting mode to active-backup (1).
Aug 27 05:33:55 localhost kernel: bonding: bond0: Setting MII monitoring interval to 100.
Aug 27 05:33:55 localhost kernel: bonding: bond0: Adding slave eth1.
Aug 27 05:33:55 localhost kernel: bonding: bond0: enslaving eth1 as a backup interface with a down link.
Aug 27 05:33:55 localhost kernel: bonding: bond0: Adding slave eth2.
Aug 27 05:33:55 localhost kernel: bonding: bond0: making interface eth2 the new active one.
Aug 27 05:33:55 localhost kernel: bonding: bond0: first active interface up!
Aug 27 05:33:55 localhost kernel: bonding: bond0: enslaving eth2 as an active interface with an up link.
Aug 27 05:37:18 localhost kernel: bonding: bond0: link status definitely up for interface eth1.
Aug 27 05:37:46 localhost kernel: bonding: bond0: link status definitely down for interface eth2, disabling it
Aug 27 05:37:46 localhost kernel: bonding: bond0: making interface eth1 the new active one.
Detaylı bilgi için: https://access.redhat.com/articles/172483
"RHEL 5.3 uzerinde bonding (Bonding Mode: fault-tolerance (active-backup) )" - Remzi AKYUZ - (2009-08-27 06:01:00)
1. /etc/modprobe.d/bonding.conf dosyasına
alias bond0 bonding
options bonding mode=1 miimon=100
satırı ilave edilir.
2. /etc/sysconfig/network-scripts/ifcfg-bond0 dosyası oluşturulur ve içerisine
DEVICE=bond0
TYPE=bond
ONBOOT=yes
HOTPLUG=no
BOOTPROTO=none
USERCTL=no
NM_CONTROLLED=no
BONDING_OPTS="mode=1 miimon=100"
BROADCAST=192.168.1.255
IPADDR=192.168.1.100
NETMASK=255.255.255.0
NETWORK=192.168.1.0
satırı ilave edilir.
3. bondingde kullanılacak ethernetler ayarlanır. eth1 ve eth2 yi kullanacağız
/etc/sysconfig/network-scripts/ifcfg-eth1 icerisinde aşağıdaki satırlar olmalı.
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
HOTPLUG=no
/etc/sysconfig/network-scripts/ifcfg-eth2 içerisinde aşağıdaki satırlar
DEVICE=eth2
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
HOTPLUG=no
4. Kontrol için
[root@localhost ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.2.4 (January 28, 2008)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth2
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth1
MII Status: down
Link Failure Count: 0
Permanent HW addr: 08:00:27:5c:33:61
Slave Interface: eth2
MII Status: up
Link Failure Count: 0
Permanent HW addr: 08:00:27:a5:24:6a
Son olarakta fiziksel olarak(kablolar sökülüp takılarak test edilir.
Loglardada aşağıdakileri görebiliriz.
#
grep bond /var/log/messages
Aug 27 05:33:55 localhost kernel: bonding: Warning: either miimon or arp_interval and arp_ip_target module parameters must be specified, otherwise bonding will not detect link failures! see bonding.txt for details.
Aug 27 05:33:55 localhost kernel: bonding: bond0: setting mode to active-backup (1).
Aug 27 05:33:55 localhost kernel: bonding: bond0: Setting MII monitoring interval to 100.
Aug 27 05:33:55 localhost kernel: bonding: bond0: Adding slave eth1.
Aug 27 05:33:55 localhost kernel: bonding: bond0: enslaving eth1 as a backup interface with a down link.
Aug 27 05:33:55 localhost kernel: bonding: bond0: Adding slave eth2.
Aug 27 05:33:55 localhost kernel: bonding: bond0: making interface eth2 the new active one.
Aug 27 05:33:55 localhost kernel: bonding: bond0: first active interface up!
Aug 27 05:33:55 localhost kernel: bonding: bond0: enslaving eth2 as an active interface with an up link.
Aug 27 05:37:18 localhost kernel: bonding: bond0: link status definitely up for interface eth1.
Aug 27 05:37:46 localhost kernel: bonding: bond0: link status definitely down for interface eth2, disabling it
Aug 27 05:37:46 localhost kernel: bonding: bond0: making interface eth1 the new active one.
Detaylı bilgi için: https://access.redhat.com/articles/172483
24 Ocak 2018 Çarşamba
Red Hat Enterprise linux 7.x / Oracle Enterprise Linux 7.x de ağ kartını yeniden isimlendirmek
1. grub ayarlamasi yapılır ve grub ayar dosyası yeniden oluşturulur.
[root@oradb-oel-7-node1 ~]# grep CMDLINE /etc/default/grub
# GRUB_CMDLINE_LINUX="rd.lvm.lv=ol/root rd.lvm.lv=ol/swap rhgb quiet"
GRUB_CMDLINE_LINUX="rd.lvm.lv=ol/root rd.lvm.lv=ol/swap rhgb crashkernel=auto vconsole.keymap=us net.ifnames=0 biosdevname=0"
[root@oradb-oel-7-node1 ~]#
grub2-mkconfig -o /boot/grub2/grub.cfg
2. /etc/sysconfig/network-scripts/ dizini içerisinde ağ arabirimimiz yeniden adlandırılır.
mv ifcfg-enp0s3 ifcfg-lan0
[root@oradb-oel-7-node1 network-scripts]# cat ifcfg-lan0
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_PEERDNS=no
IPV6_PEERROUTES=no
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=lan0
DEVICE=lan0
ONBOOT=yes
IPADDR=192.168.253.71
PREFIX=24
GATEWAY=192.168.253.254
DNS1=192.168.253.254
DOMAIN=localdomain.org
HWADDR=08:00:27:75:5a:01
HWADDR satırı doğru olmalı.
Sonrasında sistemimiz yeniden başlattığımızda artık enp0s3 diye bir ağ kartı görmüyoruz.
[root@oradb-oel-7-node1 ~]# grep CMDLINE /etc/default/grub
# GRUB_CMDLINE_LINUX="rd.lvm.lv=ol/root rd.lvm.lv=ol/swap rhgb quiet"
GRUB_CMDLINE_LINUX="rd.lvm.lv=ol/root rd.lvm.lv=ol/swap rhgb crashkernel=auto vconsole.keymap=us net.ifnames=0 biosdevname=0"
[root@oradb-oel-7-node1 ~]#
grub2-mkconfig -o /boot/grub2/grub.cfg
2. /etc/sysconfig/network-scripts/ dizini içerisinde ağ arabirimimiz yeniden adlandırılır.
mv ifcfg-enp0s3 ifcfg-lan0
[root@oradb-oel-7-node1 network-scripts]# cat ifcfg-lan0
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_PEERDNS=no
IPV6_PEERROUTES=no
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=lan0
DEVICE=lan0
ONBOOT=yes
IPADDR=192.168.253.71
PREFIX=24
GATEWAY=192.168.253.254
DNS1=192.168.253.254
DOMAIN=localdomain.org
HWADDR=08:00:27:75:5a:01
HWADDR satırı doğru olmalı.
Sonrasında sistemimiz yeniden başlattığımızda artık enp0s3 diye bir ağ kartı görmüyoruz.
21 Ocak 2018 Pazar
ubuntu 16.04 de ağ kartını yeniden isimlendirmek
Yeni linux sürümlerinde ağ kartlarının isme ethX yerine enp1d1S0 gibi gelmekte.
Böyle uzun uzun akılda kalmayacak isimler olunca, niye yeniden isimlendirmeyelim?
Öncelikle /etc/udev/rules.d/70-persistent-net.rules dosyasını oluşturuyoruz.
Dosyanın içerisine ağ kartımızla ilgili bilgileri ve yeni ismini belirtiyoruz.
Örnek satır aşağıda;
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="8c:ec:4b:02:be:c3", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="wan0"
mac adresi önemlidir. Tanım yaparken mac adresini doğru yazmamız gerekiyor.
Bundan sonra /etc/default/grub dosyasına aşağıdaki parametreleri ilave ediyor
# GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
sonrasında update-grub komutunu çalıştırıp sistemi yeniden başlatıyoruz.
Sistemimiz açıldığında artık yeni ismini kullanabiliriz.
root@ubuntu:~# ifconfig wan0
wan0 Link encap:Ethernet HWaddr 8c:ec:4b:02:be:c3
inet addr:172.16.0.47 Bcast:172.16.0.255 Mask:255.255.255.0
inet6 addr: fe80::ecb4:b8:16f2:4176/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2740 errors:0 dropped:0 overruns:0 frame:0
TX packets:2120 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1734552 (1.7 MB) TX bytes:325068 (325.0 KB)
root@ubuntu:~# grep net.ifnames /etc/default/grub; cat /etc/udev/rules.d/70-persistent-net.rules
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="8c:ec:4b:02:be:c3", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="wan0"
root@ubuntu:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial
root@ubuntu:~#
Linux ubuntu 4.13.0-26-generic #29~16.04.2-Ubuntu SMP Tue Jan 9 22:00:44 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
son olarak initramfs update etmek faydalı olur. Bunun için;
# update-initramfs -u
çalıştırmamız yeterli olur.
Bu aşamalardan sonra sistemi yeniden başlatabiliriz.
Böyle uzun uzun akılda kalmayacak isimler olunca, niye yeniden isimlendirmeyelim?
Öncelikle /etc/udev/rules.d/70-persistent-net.rules dosyasını oluşturuyoruz.
Dosyanın içerisine ağ kartımızla ilgili bilgileri ve yeni ismini belirtiyoruz.
Örnek satır aşağıda;
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="8c:ec:4b:02:be:c3", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="wan0"
mac adresi önemlidir. Tanım yaparken mac adresini doğru yazmamız gerekiyor.
Bundan sonra /etc/default/grub dosyasına aşağıdaki parametreleri ilave ediyor
# GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
sonrasında update-grub komutunu çalıştırıp sistemi yeniden başlatıyoruz.
Sistemimiz açıldığında artık yeni ismini kullanabiliriz.
root@ubuntu:~# ifconfig wan0
wan0 Link encap:Ethernet HWaddr 8c:ec:4b:02:be:c3
inet addr:172.16.0.47 Bcast:172.16.0.255 Mask:255.255.255.0
inet6 addr: fe80::ecb4:b8:16f2:4176/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2740 errors:0 dropped:0 overruns:0 frame:0
TX packets:2120 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1734552 (1.7 MB) TX bytes:325068 (325.0 KB)
root@ubuntu:~# grep net.ifnames /etc/default/grub; cat /etc/udev/rules.d/70-persistent-net.rules
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="8c:ec:4b:02:be:c3", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="wan0"
root@ubuntu:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial
root@ubuntu:~#
Linux ubuntu 4.13.0-26-generic #29~16.04.2-Ubuntu SMP Tue Jan 9 22:00:44 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
son olarak initramfs update etmek faydalı olur. Bunun için;
# update-initramfs -u
çalıştırmamız yeterli olur.
Bu aşamalardan sonra sistemi yeniden başlatabiliriz.
28 Kasım 2017 Salı
basit disk okuma/yazma testi (bonnie)
bonnie++ -c 16 -s 4196 -n 1 -r 128 -m db01 -x 2 -u root | bon_csv2html > /tmp/report.html
Kaydol:
Kayıtlar (Atom)
-
Systemd ile Linux Sistem Kaynak Yönetimi: RHEL 7/8/9/10 Kapsamlı Rehberi Giriş Modern Linux dağıtımlarının neredeyse tamamı systemd servis...
-
🔒 SSH Servisini OOM Killer'dan Koruma Rehberi 📑 İçerik 1. Giriş 2. OOM Killer Nedir? 3. SSH ve OOM Killer İlişkisi 4. Çözü...
-
RHEL tabanlı her hangi bir sistemde felaket durumunda kurtarma modunda açtığımızda chroot yapmadan önce aşağıdaki bağlantı işlemlerini yapma...


