wordpress hosting - vpn - cloud - statistiekservice - email

Wat is er nieuw in Redhat 7 [update-2]

Netwerk

Nieuw is nmcli en nmtui command waarmee je nu je netwerkconfiguratie regelt. 

Een paar voorbeelden:

  • nmcli con show : toont de connectie status van de netwerkinterfaces
  • nmcli con show <device> : toont gedetailleerde info van <device>
  • nmcli con add con-nam <name> ifname <device> autoconnect <on | off>  type ethernet ip4 192.168.1.10/24 gw 192.168.1.254 : Dit brengt maakt voor <name> een configuratiebestand aan voor <device> waarbij het type v/d interface ethernet is, er gekozen kan worden op deze tijdens het opstarten autoconnected is (moet worden geactiveeerd) en de bijbhorende ipv4 configuratie.
  • nmcli con mod <name> + ipv4.dns 8.8.8.8 : voegt aan de bestaande configuratie <name> een ipv4 dns met adres 8.8.8.8 toe. 
  • nmcli con up <name> : brengt interface met de naam <name> up 
  • hostname-ctl status : geeft overzicht van de hostname configuratie
  • hostname-ctl set-hostname <fqdn> : set de hostname (fqdn) in 

Overigens wordt de configuratie van de netwerk interface wel gewoon in /etc/sysconfig/network-scripts opgeslagen.

Logging

Hoewel logging 'gewoon' via rsyslog kan lopen en het nieuwe journald geen 1 op 1 vervanging is wordt bijv. bij een minimale installatie rsyslog niet standaard geinstalleerd en zal je met journalctl aan de gang moeten. De logging met journald is gaat verloren na een reboot en wordt weggeschreven in /run/log/journal.

journald logging permanent maken

  • Maak een directory /var/log/journal aan: mkdir /var/log/journal
  • Zet de rechten goed : chown root:systemd-journal /var/log/journal en geef daarna chmod 2755 /var/log/journal
  • Zorg ervoor dat journald de nieuwe directory ziet : killall -USR1 systemd-journald

Het uitlezen v/d logging gaat dan middels journalctl -b

journald voorbeelden

  • journalctl -f : toont de laatste regels van het log en vult aan als er nieuwe items bijkomen (vergelijkbaar met een tail -f)
  • journalctl -nxx : toont de laatste xx regels
  • journnactl –since yesterday -p err : toont vanaf gisteren alleen de error logregels
  • journalctl _SYSTEMD_UNIT=sshd.service : toont alleen de sshd gerelateerde logregels
  • journalct -o verbose : geeft extra veel info over de logregels

Wachtwoord van root kwijt / verloren

In RedHat 7 kan je het root wachtwoord op de volgende manier wijzigen als je het vergeten / kwijt bent: 

  • reboot de server
  • in het bootmenu druk op e (edit) en voeg aan de regel die begint met linux16 aan het einde toe: rd.break
  • boot de server daarna verder vanuit het bootmenu met Ctrl-X
  • op de prompt geef mount -orw,remount /sysroot 
  • geef chroot /sysroot
  • wijzig het root wachtwoord met passwd root
  • indien SELINUX enforced is geef load_policy -i en daarna touch /.autorelabel
  • reboot de server

 

 

Tips installatie Oracle

Er zijn al veel pagina's geschreven over hoe je Oracle 12 op 'n RedHat 6 server moet / kan installeren. Hier staan dan ook mijn bevindingen en tips als je Oracle 12 op een RedHat 6 of soort gelijke server wilt installaren

Vooraf

  • maak de swappartitie minimaal 16GB anders wil de installer niet werken
  • zorg ervoor dat als je niet fysiek achter de server zit je een client hebt met een X server. Voor Windows zou dat bijv. Mobaterm kunnen zijn. 
  • zorg dat de FQDN (volledige host en domainnaam) in de /etc/hosts staat met het publieke ipadres
  • Zorg dat je een recente Java versie installeert. Indien je op een RedHat 6 server werkt dien je de rhel-6-server-thirdparty-oracle-java-rpms  repo in /etc/yum.repos.d/redhat.repo te enablen (enable=1)
  • Indien je een firewall op de server gebruikt, voeg in /etc/sysconfig/iptables een regel toe: 
	-A INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT
  • Maak vooraf groupen en gebruikers aan. Check wel even of de hier getoond GID's vrij zijn:

    groupadd --gid 54321 oinstall
    groupadd --gid 54322 dba
    groupadd --gid 54323 asmdba
    groupadd --gid 54324 asmoper
    groupadd --gid 54325 asmadmin
    groupadd --gid 54326 oper
    groupadd --gid 54327 backupdba
    groupadd --gid 54328 dgdba
    groupadd --gid 54329 kmdba

    useradd --uid 54321 --gid oinstall --groups dba,oper,asmdba,asmoper,backupdba,dgdba,kmdba oracle
    passwd oracle

    useradd --uid 54322 --gid oinstall --groups dba,asmadmin,asmdba,asmoper grid
    passwd grid
  • Zet aangepaste limits voor de user oracle in een aan de aan te maken /etc/security/limits.d/99-grid-oracle-limits.conf:

    oracle soft nproc 16384 
    oracle hard nproc 16384 
    oracle soft nofile 1024 
    oracle hard nofile 65536 
    oracle soft stack 10240 
    oracle hard stack 32768 
    grid soft nproc 16384 
    grid hard nproc 16384 
    grid soft nofile 1024 
    grid hard nofile 65536 
    grid soft stack 10240 
    grid hard stack 32768

Het opnoemen van allerlei rpm's die nodig zijn is niet meer nodig. De Oracle Installer komt zelf met welke er nog moeten worden geinstalleerd. Die kunnen dan alsnog worden geinstalleerd, doe een re-check en als aan alle software dependencies is voldaan gaat de Oracle Installer verder. De installer geeft ook aan welke kernel parameters gezet moeten worden, die worden in een script geplaatst wat als root moet worden uitgevoerd. Ook dit geeft de installer aan.

De installatie van het RDBMS

De installer komt met een aantal vragen zoals een emailadres waarop Oracle support je kan emailen voor updates ed, wachtwoord voor Oracle support (uit te vinken zodat je door kan gaan met de installatie) en vraagt naar de soort installatie bijv. Install database only of Single instance database. 

In dit voorbeeld gebruiken we de volgende paden:


    ORACLE_BASE = /apps/oracle
    ORACLE_HOME = /apps/oracle/product/12.1.0/dbhome_1

 

Zorg dat deze directories bestaan en zet de rechten goed: chown -r oracle.oinstall /apps/oracle

Pak de Oracle .zip files uit ergens waar voldoende ruimte is, bijv. /apps/oracle/oracle-software/ en zet de rechten goed op die directorie: chown oracle.oinstall /apps/oracle/oracle-software/*.zip

Login met ssh -Y oracle@<server> en ga naar /apps/oracle/oracle-software/ en pak de beide zipifiles uit.

Start (nog steeds als user Oracle) de installer: /apps/oracle/oracle-software/database/runInstaller

De installer start op en bij een remote X sessie zal er nog een warning komen dat de installer niet kan detecteren of je scherm aan de juiste eisen voldoet maar je kan gewoon verder met de installatie door deze waarschuwing te negeren. 

Oracle client

De Oracle client kan direct bij Oracle worden gedownload als RPM. Je hebt hiervoor wel een account nodig maar dat kan (gelukkig) gratis worden aangemaakt. Na het downloaden is de client eenvoudig te installeren met: 

    rpm -ivh oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm

Proxy server instellen op RedHat/CentOS servers

RedHat Subscription Manager

Indien je de RedHat Subcription Manager wilt gebruiken met een proxy server kan dat worden gedaan door in /etc/rhsm/rhsm.conf de volgende regels op te nemen:

    proxy_hostname = proxy.mynnet.nl
    proxy_port = 8080
    proxy_user = proxyuser
    proxy_password = proxypass

Indien geen user/password nodig is komt er achter het "=" teken niets te staan. 

 

YUM

Voeg aan /etc/yum.conf een regel toe als volgt: 

 

    proxy = proxy.mynnet.nl:8080 

 

System wide

    /bin/cat <<EOF > /etc/profile.d/proxy.sh 
    export http_proxy=http://proxy.mynnet.nl:8080 
    export ftp_proxy=http://proxy.mynnet.nl:8080
    export HTTP_PROXY=http://proxy.mynnet.nl:8080
    export FTP_PROXY=http://proxy.mynnet.nl:8080 
    export no_proxy=.localdomain.com  
    EOF

 

Nieuwe server uitrollen met Satellite 6

Voor het uitrollen van een nieuwe server middels hammer zijn een aantal parameters nodig:

  • environment-id
  • architecture-id
  • domain-id
  • operatingsystem-id
  • partition-table-id

Er dient al een hostgroup aangemaakt te zijn, dat kan via hammer of de WebGUI. Exporteer de benodige settings, voorbeeld:


    export ORG_NAME=Datacenter
    export ORG_LOCATION=Amsterdam
    export ORG_ID=$(hammer --csv organization list --search "${ORG_NAME}"| awk -F, 'FNR == 2 {print $1}')
    export LOCATION_ID=$(hammer --csv location list --search "${ORG_LOCATION}" | awk -F, 'FNR == 2 {print $1}')

    export HOSTGROUP_NAME='rhel-6-x86_64-test'
    export HOSTGROUP_ID=$(hammer --csv hostgroup list --search "name = \"${HOSTGROUP_NAME}\""| awk -F, 'NR==2 {print $1}')

    export DOMAIN_NAME='example.com'
    export HOST_SHORTNAME="test-103"
    export HOST_FQDN="${HOST_SHORTNAME}.${DOMAIN_NAME}"
    export HOST_MAC='52:55:00:54:0b:e1'
    export ROOT_PWD='12345678FOOD'

Nu dit gebeurd is kan hammer worden aangeroepen om de host aan te maken:

     hammer host create --ask-root-password false --build false --hostgroup-id ${HOSTGROUP_ID} --mac ${HOST_MAC} --name "${HOST_SHORTNAME}" --root-password ${ROOT_PWD}

Als de host aangemaakt is moet deze nog gekoppeld worden aan een organistatie en locatie (organization en location). Deze info kunnen we niet via hammer opvragen en gebruiken hier de API voor:

     export HOST_ID=$(hammer host list | grep "${HOST_SHORTNAME}" | awk '{print $1}')

     json_file=$(mktemp)
     cat > ${json_file} <<EOF
     {"organization_id":"$ORG_ID","location_id":"$LOCATION_ID"}
     EOF

     curl -X PUT -k -u admin:securepassword -H 'Content-Type: application/json' -d @${json_file} https://localhost/api/hosts/${HOST_ID}

Gebruik van templates in Satellite 6

Nieuwe servers uitrollen middels een template

Dit valt uiteen in een aantal stappen:

  • koppelen OS aan een template
  • koppelen van partionering aan een OS

Koppelen OS aan een template

Vraag een lijst op met beschikbare templates:

     hammer template list --per-page 9999

NB: De optie --per-page 9999 zorgt ervoor dat we een lijst krijgen i.p.v. een aantal resulaten per pagina.

Een deel van de uitvoer ziet er dan ongeveer zo uit:

     14 | Kickstart default PXELinux          | PXELinux
     16 | Preseed default                     | provision
     17 | Preseed default finish              | finish
     19 | Preseed default iPXE                | iPXE
     18 | Preseed default PXELinux            | PXELinux
     20 | Preseed default user data           | user_data
     1  | PXELinux global default             | PXELinux
     33 | Satellite Finish Default            | finish
     31 | Satellite Kickstart Default         | provision
     32 | Satellite User Data Default         | user_data

We gebruiken even de standaard templates, we hebben in ieder geval template 14 en 31 nodig. Het Kickstart default PXELinux template zorgt voor 't Kickstarten, template 31 Satellite Kickstart Default zorgt oa. voor 't subscription management e.d.

Voor meer info over 't Satellite Kickstart Default template kan worden opgevraagd met:

     hammer template info --id 31

En geeft een uitvoer wat lijkt op:

     Id:                31
     Name:              Satellite Kickstart Default
     Type:              provision
     Operating systems:

Zoals te zien is Operating Systems nog leeg en moet aan dit template nog een OS gekoppeld worden. Dat kan worden gedaan met:

     hammer template update --id 31 --operatingsystem-ids 1

NB: De lijst met beschikbare Operating Systems is op te vragen met hammer os list

Koppelen van partionering aan een OS

Er moeten een aantal parameters gezet worden aan een OS voordat het gebruikt kan worden:

  • partionering
  • architecture
  • default templates
  • installatie medium

Opvragen van de beschikbare partitioneringstemplates:

     hammer partition-table list

En een stukje van de uitvoer kan er dan zo uit zien:

     7  | Kickstart default            | Redhat

En om deze partitie info te koppelen aan de hiervboven gekozen template 31:

    hammer os set-default-template --id 1 --config-template-id 31
    hammer os  add-ptable --id 1 --ptable-id 7

Als nu de info wordt opgevraagd van het configuratie template 31 met hammer os info --id 1

     Id:                 1
     Full name:          RedHat 6.5
     Release name:
     Family:             Redhat
     Name:               RedHat
     Major version:      6
     Minor version:      5
     Partition tables:
         Kickstart default
     Default templates:
         Satellite Kickstart Default (provision)
     Architectures:
         x86_64
     Installation media:
         Example_Org/Library/Red_Hat_6_Server_Kickstart_x86_64_6_5
     Templates:
         Satellite Kickstart Default (provision)
     Parameters: