Ana içeriğe atla

Kayıtlar

2018 tarihine ait yayınlar gösteriliyor

deduplication karşılaştırması - zfs vs. vdo

zfs ve vdo yu karşılaştırma zamanı geldi diyerek karşılaştırmaya karar verdim. Testlerde kullanabileceğim iki tane IBM power8 sunucu üzerine, zfs için RHEL 7, vdo için RHEL 8 kurarak karşılaştırdım. Sonuç olarak vdo daha az kaynak, neredeyse yarı yarıya, ve ~%3 daha iyi deduplication gerçekleştirdi. RHEL 8 geldiğinde arşivleme sistemleri için vdo yu kullanabiliriz görünüyor. Tabi her şey deduplication değil. snapshot, replikasyon vs. gibi ihtiyaçlar varsa zfs öne çıkmaya devam edecek gibi görünüyor.   Test sistemi hakkında; [root@Rhel8onPower8 ~]# lsb_release -a LSB Version:    :core-4.1-noarch:core-4.1-ppc64le:cxx-4.1-noarch:cxx-4.1-ppc64le:desktop-4.1-noarch:desktop-4.1-ppc64le:languages-4.1-noarch:languages-4.1-ppc64le:printing-4.1-noarch:printing-4.1-ppc64le Distributor ID: RedHatEnterprise Description:    Red Hat Enterprise Linux release 8.0 Beta (Ootpa) Release:        8.0 Codename:       Ootpa [root@Rhel8onPower8 ~]# uname -a Linux Rhel8onPower8 4.18.0-32.el8.ppc64

cobbler'e yeni bir sunucu tanımlamak

spacewalk sunucusu üzerinden networkten kurulum için cobbler kullanılıyor. cobbler'e yeni bir sunucu tanıtmak için aşağıdaki scripti kullanıyorum. [root@spacewalk ~]# cat sunucu-ekle.sh #!/bin/bash # sunucular biostan, ikinci interfaceden boot olacak sekilde ayarlanmali hostname="oel6-test2.oel.local" int1="eth0" mac1="00:01:02:03:42:BD" ipaddr1="192.168.254.152" int2="eth1" mac2="00:01:02:03:2A:D4" ipaddr2="192.168.11.152" profile="oel6kickstart:1:local" cobbler system add --name=$hostname --hostname=$hostname --interface=$int1 --mac=$mac1 --ip-address=$ipaddr1 --interface=$int2 --mac=$mac2 --ip-address=$ipaddr2 --profile=$profile cobbler sync systemc restart dhcpd systemctl restart named cobbler system list [root@spacewalk ~]# Tabiki cobblerin ayarlanmış olması şart. cobbler için en azından /etc/cobbler dizini altındaki  aşağıdaki dosyaları düzenlemeniz gerekmektedir. Aksi durumda dhcp/dns tanımlamala

Birazda bisiklet reklamı

Merhabalar, Bu gün kişiye özel bisiklet yapımıyla ilgili reklam yapayım dedim. Bisiklet sevenlerdenseniz, aşağıdaki linki ziyaret etmeniz iyi olur. https://soulrider.bike/tr_TR/ Belki kendizine özel bir bisiklet istersiniz. :)

rsync yi ssh üzerinden kullanırken port degişikliği

rsync yi ssh üzerinden kullandığımızda default port olarak 22 kullanır. Bunu değiştirmenin en kolay yolu, rsync'yi çalıştıran kullanıcının .ssh dizini altında config dosyası oluşturarak içinde port tanımlamadır. sles15:~ # cat .ssh/config Host yedek     Port 43288     hostname yedek.akyuz.tech     user root sles15:~ # rsync -auvh -e ssh yedek:/data/ /mnt/yedek/ Yok illa ben config dosyası oluşturmam diyenlerdenseniz, aşağıdaki gibide kullanabilirsiniz. rsync -auvh -e "ssh -p 43288"  yedek:/data/ /mnt/yedek/

bir lunun linux sistemden kaldırılması

multipath ile kullanılan bir luna ihtiyaç kalmadığında sistemden kaldırılması; Bir disk ünitesinden verilen bir diski(lun) linux sistemlerinden pat diye kaldırdığımızda bir sürü hata mesajları alırız. ihtiyacım kalmayan bir diski sistemden düzgün bir şekilde kaldırmak için öncelikle multipath den kaldırıp, arkadısndan disk leri sistemden silmemiz gerekir. Aşağıdaki script bu işlem için bir örnektir. ###############################ÖRNEK######################################### #!/bin/bash tmpf="/tmp/deldevlst.txt" if (( $# > 0 )) then         export mpathdev=$1 dev=/dev/mapper/$mpathdev if [ -e $dev ] then         multipath -ll $mpathdev |egrep -v "status=active|size|status=enabled|$mpathdev"|sed 's/| `-//g'|sed 's/`-//g' |awk '{print $2}' > $tmpf         multipath -f $mpathdev && echo $mpathdev silindi..         for devname in `cat $tmpf`         do         echo 1 > /sys/block/$devname/device/delete  && echo $devname

RHEL 7 tabanlı sistemlerde initramfs dosyasının açılması

Mevcut initramfs dosyasını incelememiz gerektiğinde, aşağıdaki gibi initramfs açarak inceleyebiliriz. [root@rhel7 tmp]# mkdir initramfs-extras [root@rhel7 tmp]# cd initramfs-extras/ [root@rhel7 initramfs-extras]# cp /boot/initramfs-3.10.0-862.el7.x86_64.img . [root@rhel7 initramfs-extras]# mv initramfs-3.10.0-862.el7.x86_64.img initramfs-3.10.0-862.el7.x86_64.img.gz [root@rhel7 initramfs-extras]# gunzip initramfs-3.10.0-862.el7.x86_64.img.gz [root@rhel7 initramfs-extras]# cpio -i < initramfs-3.10.0-862.el7.x86_64.img 126539 blocks [root@rhel7 initramfs-extras]# ls bin  dev  etc  init  initramfs-3.10.0-862.el7.x86_64.img  lib  lib64  proc  root  run  sbin  shutdown  sys  sysroot  tmp  usr  var [root@rhel7 initramfs-extras]#

Eski şıkıştırılmış sistem loglarını incelemek

Linux sistemlerde eski log dosyaları fazla yer kaplamaması için, aşağıdaki gibi otomatik olarak şıkıştırılır. fail2ban.log        kern.log.2.gz      syslog.1             Xorg.0.log.old fail2ban.log.1      kern.log.3.gz      syslog.2.gz          xrdp-sesman.log fail2ban.log.2.gz   kern.log.4.gz      syslog.3.gz Bunları incelemiz gerektiğinde gzip ile açmak yerine zless aracını kullanabiliriz. $ zless fail2ban.log.2.gz  Zless  is a filter which allows examination of compressed or plain text        files one screenful at a time on  a  soft-copy  terminal.   It  is  the        equivalent of setting the environment variable LESSOPEN to '|gzip -cdfq        --   %s',   and   the    environment    variable    LESSMETACHARS    to        '<space><tab><newline>;*?"()<>[|&^`#\$%=~',   and  then  running  less.        However, enough people seem to think  that  having  the  command  zless        available is important to be worth providing it.

disklerin uzaktaki makineye 1-1 kopyalanması

Günün birinde bir sunucu taşımak zorunda kalır, fakat yeniden kurulum vs. ile uğraşmak istemiyorsanız, eski ve yeni yeni sunucuları live linux ile (tercihim ubuntu ) boot edip, kaynak sunucu üzerinde; dd if=/dev/sda | ssh root@1.2.3.4  "dd of=/dev/vda" ile diski bire bir kopylayabilirsiniz. 1.2.3.4 yeni sunucunun ip adresi vda yeni sunucudaki disk, sda eski sunucudaki disk eyu eğlenceler

selinux - nginx

sudo cat /var/log/audit/audit.log | grep nginx | grep denied | sudo audit2allow -M nginx cat nginx.te module nginx 1.0; require {     type unlabeled_t;     type httpd_t;     class dir read;     class file { getattr read }; } #============= httpd_t ============== #!!!! This avc is allowed in the current policy allow httpd_t unlabeled_t:dir read; allow httpd_t unlabeled_t:file read; #!!!! This avc is allowed in the current policy allow httpd_t unlabeled_t:file getattr; semodule -i nginx.pp systemctl restart nginx

ssh kullanıcı ayarlarım

linux sistemimdeki .ssh/config dosyasının temel satırları Host * ControlMaster                        auto ControlPath                             ~/.ssh/sockets/%r@%h-%p ControlPersist                        600 StrictHostKeyChecking         no host  mynode         hostname                          mynode.akyuz.tech         user                                   root         ForwardAgent                  yes         ForwardX11                     yes         TCPKeepAlive                  yes         ConnectTimeout              15         ConnectionAttempts        2         Port                                  22         DynamicForward            8989         LocalForward                 127.0.0.1:5901 127.0.0.1:5901

RedHat reposunu yedeklemek

Bu gün boş boş otururken, redhat reposunu yedekleyen bir script hazırlayayım dedim.  rhel reposunu yansilamak isteyenler, kendilerine uygun değişikliği yaparak kullanabilirler. Tüm repoları indirebilmek için, rhn den repoları aktifleştirmek gerektiğinide unutmamak lazım. :) Eyu eğlenceler. ################################################ #!/bin/bash # Bu script Remzi AKYUZ tarafindan, redhat paketlerini yerelden kullanmak icin hazirlanmistir. # Her hangi bir sorunuz olursa, lutfen sorunuz. # eposta: remziakyuz@gmail.com #set -x # time reposync --gpgcheck -l --repoid= repolar=( 'jbappplatform-4.3.0-fp-x86_64-server-5-rpm' 'jbappplatform-4.3.0-x86_64-server-5-rpm' 'jbappplatform-6.4-x86_64-server-5-rpm' \           'jb-ewp-5-x86_64-server-5-rpm' 'jb-ews-2-x86_64-server-5-rpm' 'jb-wfk-1-x86_64-server-5-rpm' \           'rhel-x86_64-rhev-agent-5-server' 'rhel-x86_64-server-5' \           'rhel-x86_64-server-5-mrg-man

Dosya kontrolü

Bir Dosyaya ne zaman erişilmiş, ne zaman değiştirilim gibi bilgileri stat komutu ile öğrenebiliriz.

Linux sistemlerde multipath kullanımı - multipathd

Multipath hakkında bilmemiz gereken en önemli bir nokta ise ALUA kullanımıdır. Günümüz disk üniteleri %99.9 ALUA yı destekler ve kullanır. Disk kontrol üniteleri, ALUA aracılığı ile bağlantılarının nasıl kullanılacağı, önceliğinin ne olacağı bilgileri diski kullanan tarafa (linux sunuculardaki multipathd) bildirir. Multipath aldığı bu bilgiler ile disk kullanım şeklini oluşturarak, diski hizmete verir.  Bu ufak bilgiden sonra genel rhel tabanlı sistemlere multipath  kullanımı hakkında faydalı bilgileri paylaşalım.      1. Multipath paketi yüklü olup olmadığı kontrol edilerek, yüklü değilse yüklenir.     rpm -q device-mapper-multipath     rpm -q device-mapper         yum install device-mapper     yum install device-mapper-multipath     yum install device-mapper-multipath     mpathconf --enable-with_multipathd y --with_chkconfig y     mpathconf  2. Temel config dosyası hazırlanır;        cp /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf.defaults /etc/multipath.conf  3. 

X11 forwarding request failed on channel 0

X11 forwarding request failed on channel 0 hatası alınıyorsa, sshd_config aşağıdaki satır ilave atılabilir.  X11UseLocalhost no AddressFamily inet #X11UseLocalhost no debug1: Remote: No xauth program; cannot forward with spoofing. X11 forwarding request failed on channel 0 hatası alındığında  xauth yüklenmesi gerekir. yum install xorg-x11-xauth debug: /usr/sbin/sshd -p 22 -D -d -e

Mutt ile ekli dosya gonderme ve from degistirme

terminalden veya cron ile mesaj göndermemiz gerekiyor ve bu mesajin from kismini degistirerek ilave dosya eklemek istiyorsak; ~/.muttrc dosyasina asagidaki gibi satirlar ilave edilir. --------------------------------------------- set use_from my_hdr From: destek@destek.com --------------------------------------------- /usr/bin/mutt -s \"Mesaj konusu\" musteri@musteri.com -a ilave_edilecek _dosya.tgz  < mesaj_icerigi.txt

Basit şekilde diskleri bölümleyerek, kullanıma almak

Özellikle 4TB ve büyük diskleri bölümlemek için parted kullanabiliriz. kullanımı oldukça basit, öncelikle gpt etiketi atıyoruz.                          parted /dev/sda mklabel gpt sonrasında yeni bölüm oluşturuyoruz. parted -a optimal /dev/sda mkpart primary 0% 4096MB parted -a optimal /dev/sda mkpart primary 0% 100% Sonrasında formatlama kontrol 2 (parted) align-check optimal P P aligned # cat /sys/block/sdb/queue/optimal_io_size 1048576 # cat /sys/block/sdb/queue/minimum_io_size 262144 # cat /sys/block/sdb/alignment_offset 0 # cat /sys/block/sdb/queue/physical_block_size 512 cat /sys/block/sdx/queue/max_sectors_kb echo 1024 /sys/block/sdx/queue/max_sectors_kb parted -s /dev/sdx unit % print parted -s /dev/sdb rm 1 parted -s /dev/sdx -- mklabel gpt mkpart primary   yeni oluşturulan bölümü lvm olarak kullanacaksak:   parted /dev/sdx set 1 lvm on parted -s /dev/sdx unit % print /sbin/kpartx -a /dev/sdx parted -s /dev/sdb print parted -s /dev/sdb mklabel gpt parted -s /dev/sdb mkpar

Linux tabanlı sistemlerde hafıza ( ram ) kontrolu ( free )

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ö

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 ]#

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: # 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=bon