Štítek: Linux

  • Jak se zbavit GPT dat z disku

    Nedávno mi v dedikovaném serveru odešel disk. Používám Linux software raid, mdadm. Když jsem chtěl zkopírovat rozdělení disku z toho funkčního na ten nový (sfdisk -d /dev/sda | sfdisk –force /dev/sdb), nastal problém v tom, že nově nainstalovaný měl GPT namísto starého MBR. Zde je návod jak se zbavit GPT a vrátit se k MBR.

    1.  Nainstalovat gdiskJe potřeba nainstalovat gdisk, program, který zvládne pracovat s diskem, který má GPT.aptitude install gdisk
    2. Zrušit GPT data na diskuPustit gdisk se jménem disku jako parametr.gdisk /dev/sda

      GPT fdisk (gdisk) version 0.5.1

      Partition table scan:
      MBR: MBR only
      BSD: not present
      APM: not present
      GPT: present

      Found valid MBR and GPT. Which do you want to use?
      1 – MBR
      2 – GPT
      3 – Create blank GPT

      Your answer: 1

       

    3. gdisk volba „x“Command (? for help): ?
      b       back up GPT data to a file
      c       change a partition’s name
      d       delete a partition
      i       show detailed information on a partition
      l       list known partition types
      n       add a new partition
      o       create a new empty GUID partition table (GPT)
      p       print the partition table
      q       quit without saving changes
      r       recovery and transformation options (experts only)
      s       sort partitions
      t       change a partition’s type code
      v       verify disk
      w       write table to disk and exit
      x       extra functionality (experts only)
      ?       print this menuCommand (? for help): x
    4. gdisk volba „z“Expert command (? for help): y
      a       set attributes
      c       change partition GUID
      e       relocate backup data structures to the end of the disk
      g       change disk GUID
      i       show detailed information on a partition
      m       return to main menu
      n       create a new protective MBR
      o       print protective MBR data
      p       print the partition table
      q       quit without saving changes
      r       recovery and transformation options (experts only)
      s       resize partition table
      v       verify disk
      w       write table to disk and exit
      z       zap (destroy) GPT data structures and exit
      ?       print this menuExpert command (? for help): z
    5. HotovoAbout to wipe out GPT on /dev/sda. Proceed? (Y/N): y
      Blank out MBR? (Y/N): y
      GPT data structures destroyed! You may now partition the disk using fdisk or
      other utilities. Program will now terminate.
    6. Je možná používat běžné nástrojecfdisk /dev/sda
      fdisk -l /dev/sda
  • Přesun x86 Cacti rrd souborů na x64

    Přesouval jsem monitorovací server Cacti (http://cacti.net/) ze systému x86 na x64 a po přesunu se mi začaloo zobrazovat spousta chybových hlášení v logu a nezobrazovaly se grafy. Zde je návod jak konvertovat rrd soubory z x86 na x64.

    1. Editace souborů na starém serveru x86cd /var/www/cacti/rra/
      for i in `ls *. rrd`; do rrdtool dump $i > $i.xml; done 
    2. Přesun xml souborů na nový x64 server
    3. Import xml souborů na novém x64 serverucd /var/www/cacti/rra/
      for i in `ls *.xml`; do rrdtool restore $i `echo $i |sed s/.xml//g`; done
  • Ubuntu 10.04 LTS a sun-java6-jdk

    Od této verze Ubuntu je výchozí nabízená implementace javy openjdk, respektive sun-jdk byla přesunuta do „partner“ repozitáře. Takže kdokoliv prostě potřebuje právě tu Sun Javu, musí si upravit source.list.

    1. povolit partner repozitářnano /etc/apt/source.list

      Od této verze Ubuntu je výchozí nabízená implementace javy openjdk, respektive sun-jdk byla přesunuta do „partner“ repozitáře. Takže kdokoliv prostě potřebuje právě tu Sun Javu, musí si upravit source.list.

      1. povolit partner repozitářnano /etc/apt/source.list

        deb http://archive.canonical.com/ubuntu lucid partner
        deb-src http://archive.canonical.com/ubuntu lucid partner

      2. aptitude update
      3. aptitude install sun-java6-jdk
  • Odstranění starého kernelu v Ubuntu

     

    Při pravidelných aktualizacích na serverech Ubuntu mi často v systému zůstává spousta starých kernelů. Tímto postupem je lze odstranit/odinstalovat.

    Zobrazení aktuálně používaného kernelu:

    uname -a

    Odstranění nepoužívaných kernelů:

    apt-get remove --purge 2.6.24-16-*
  • Ubuntu Locale

    Po instalaci Ubuntu serveru či desktopu v našich krajích ještě nastavuji „naše“ locales. Locales určují kódové sady pro zobrazování a nakládání se znaky.

    Přidat „naše“ locale do „supported locales“
    Upravit /var/lib/locales/supported.d/local a přidat tyto řádky:

    cs_CZ.UTF-8 UTF-8
    cs_CZ ISO-8859-2
    en_US.UTF-8 UTF-8
    en_US ISO-8859-1

    Nyní je potřeba přegenerovat „supported locales“
    Provede se příkazem:

    dpkg-reconfigure locales
    root@stan:~# dpkg-reconfigure locales
    Generating locales...
      cs_CZ.ISO-8859-2... done
      cs_CZ.UTF-8... done
      en_US.ISO-8859-1... done
      en_US.UTF-8... up-to-date
    Generation complete.
    
    

    Změnich výchozí locale
    Upravit /etc/environment tak aby LANG and LANGUAGE žádky vypadaly takto:

    LC_ALL="cs_CZ.UTF-8"
    LANG="cs_CZ.UTF-8"
    LANGUAGE="cs_CZ.UTF-8"

    Nakonec Reboot!

    Po rebootu si zobrazíte správnost nastavení příkazama:

    locale -a – zobrazí dostupné locales

    root@stan:~# locale -a
    C
    cs_CZ
    cs_CZ.utf8
    en_US
    en_US.utf8
    POSIX
    

    locale – zobrazí aktuální nastavení

    root@stan:~# locale
    LANG=en_US.UTF-8
    LANGUAGE=cs_CZ.UTF-8
    LC_CTYPE="cs_CZ.UTF-8"
    LC_NUMERIC="cs_CZ.UTF-8"
    LC_TIME="cs_CZ.UTF-8"
    LC_COLLATE="cs_CZ.UTF-8"
    LC_MONETARY="cs_CZ.UTF-8"
    LC_MESSAGES="cs_CZ.UTF-8"
    LC_PAPER="cs_CZ.UTF-8"
    LC_NAME="cs_CZ.UTF-8"
    LC_ADDRESS="cs_CZ.UTF-8"
    LC_TELEPHONE="cs_CZ.UTF-8"
    LC_MEASUREMENT="cs_CZ.UTF-8"
    LC_IDENTIFICATION="cs_CZ.UTF-8"
    LC_ALL=cs_CZ.UTF-8
    
  • DRBD error PrimaryUnknown SecondaryUnknown

     

    Při používání DRBD (Distributed Replicated Block Device) se mi občas stává že se se node clusteru rozpojí a zobrazují tento stav.

    První node hlásí: Primary\Unknown, Standalone

    Druhý node hlásí: Secondary\Unknown, Standalone

    Řešením je:

    Na prvním node zadat tento příkaz:

    drbdadm connect all

    Na druhém node:

    drbdadm -- --discard-my-data connect all

    Tím se se měly node opět spojit a proběhnout synchronizace.

    Odkazy:
    Ubuntu
    DRBD

  • Omezení SSH přístupu pro uživatele root

    V dnešních dnech není radno si zahrávat se zabezpečením serverů, a proto je zajímavé omezit možnosti přihlášení uživatele „root“ na SSH.

    První možností je zakázat přístup uživatel „root“ uplně. A to tímto řádkem v konfiguračním souboru serveu SSH.

    nano /etc/ssh/sshd_config
    

    a napsat řádek:

    PermitRootLogin no
    

    Druhou možností je povolit přístup uživatele „root“ pouze z vyjmenovaných IP. To může být potřeba z důvodu zálohování po síti…atd.

    nano /etc/security/access.conf

    a na konec souboru zapsat pravidlo:

    -:root:ALL EXCEPT 192.168.100.22

    Tímto řádkem zajistím, že se na SSH připojí uživatel „root“ pouze z ip adresy 192.168.100.22 a ostatní uživatelé odkudkoliv.

    Pak je ještě potřeba přidat tento záznam na konec konfiguračního souboru PAM pro SSH.

    nano /etc/pam.d/sshd

    a na konec souboru zapsat

    account required pam_access.so
  • Defragmentace XFS

     

    Jako souborový systém pro mé Linux servery nejčastěji používám XFS. Ať si kdo chce co chce říká, každý souborový systém je časem fragmentovaný. Proto čas od času provedu defragmentaci.

    Abych to mohl provést, musím si nejdřív nainstalovat utilitky pro XFS, xfsdump.

    aptitude install xfsprogs xfsdump

    Potom se podívám jak moc je který diskový oddíl fragmentovaný. Použiju k tomu utilitku xfs_db.

    server01:~# xfs_db -r /dev/sda3
    xfs_db> frag
    actual 192628, ideal 156918, fragmentation factor 18.54%
    xfs_db>

    Vlastní defragmentaci provedu nástrojem xfs_fsr:

    server01:~# xfs_fsr -v /dev/sda3
    /var start inode=0
    ino=3136
    extents before:2 after:1 DONE ino=3136
    ino=33556473
    extents before:2 after:1 DONE ino=33556473
    ino=67109178
    extents before:2 after:1 DONE ino=67109178
    ino=100664189
    extents before:2 after:1 DONE ino=100664189
    ino=134217896
    extents before:2 after:1 DONE ino=134217896
    .......
    ...
    Completed all 10 passes
    

    Pokud nechceme postupovat jednotlivě po každém diskovém oddílu zvlášť, stačí spustit  xfs_fsr bez parametru.

    server01:~# xfs_fsr -v
    Found 2 mounted, writable, XFS filesystems
    xfs_fsr -m /etc/mtab -t 7200 -f /var/tmp/.fsrlast_xfs ...
    START: pass=0 ino=0 /dev/sda2 /
    / start inode=0
    /var start inode=0
    ino=20972744
    ...
    ...
    ...
    Completed all 10 passes