building server - liamlamth/blog GitHub Wiki

iDrac update

  • reference to server support page (e.g. R740XD support)
  • firmware
  • bios

network setup

  • bonding
    [root@myserver ~] nmcli connection add type bond con-name bond0 ifname bond0 bond.option "mode=xxx"
    -------------------------------------------------------------------------------------------------------------------------------------------------------
    "mode=balance-rr,miimon=100"                                                                                    ### stackable switches       
    "mode=active-backup,miimon=50,use_carrier=1,updelay=5000,downdelay=100,primary=eno1,primary_reselect=better"
    "mode=802.3ad lacp_rate=1 miimon=100 xmit_hash_policy=layer3+4 use_carrier=1 updelay=100"                       ### stackable switches + configuration
    
    [root@myserver ~] nmcli connection modify bond0 ipv4.addresses '192.168.1.100/24'
    [root@myserver ~] nmcli connection modify bond0 ipv4.gateway '192.168.1.254'
    [root@myserver ~] nmcli connection modify bond0 ipv4.dns '192.168.1.25'
    [root@myserver ~] nmcli connection modify bond0 ipv4.dns-search 'my.local'
    [root@myserver ~] nmcli connection modify bond0 ipv4.method manual
    
    [root@myserver ~] nmcli connection add type ethernet slave-type bond con-name bond0-port1 ifname eno1 master bond0
    [root@myserver ~] nmcli connection add type ethernet slave-type bond con-name bond0-port2 ifname eno2 master bond0
    [root@myserver ~] nmcli connection add type ethernet slave-type bond con-name bond0-port3 ifname eno3 master bond0
    [root@myserver ~] nmcli connection add type ethernet slave-type bond con-name bond0-port4 ifname eno4 master bond0
    
  • hostname
    [root@myserver ~] vi /etc/hostname
    

repository setup

  • internal repository

    [root@myserver ~] vi /etc/yum.repos.d/mynew.repo
    
    [rhel-8-for-x86_64-baseos-rpms] name = Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs) baseurl = http://192.168.1.50/rhel8/rhel-8-for-x86_64-baseos-rpms/ enabled = 1 gpgcheck = 1 gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release metadata_expire = 86400 enabled_metadata = 1 [rhel-8-for-x86_64-appstream-rpms] name = Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs) baseurl = http://192.168.1.50/rhel8/rhel-8-for-x86_64-appstream-rpms/ enabled = 1 gpgcheck = 1 gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release metadata_expire = 86400 enabled_metadata = 1 [epel] name = Extra Packages for Enterprise Linux $releasever - $basearch baseurl = http://192.168.1.50/epel8/epel/ enabled = 1 gpgcheck = 1 gpgkey = http://192.168.1.50/epel8/RPM-GPG-KEY-EPEL-8 metadata_expire = 86400 enabled_metadata = 1 [zabbix52] name = Zabbix Packages for Enterprise Linux $releasever - $basearch baseurl = http://192.168.1.50/zabbix52/zabbix52/ enabled = 1 gpgcheck = 1 gpgkey = http://192.168.1.50/zabbix52/zabbix-official-repo.key metadata_expire = 86400 enabled_metadata = 1
    [root@myserver ~] yum update
  • auto update

    [root@myserver ~] dnf install dnf-automatic
    [root@myserver ~] vi /etc/dnf/automatic.conf
      upgrade_type = security
      random_sleep = 30
      apply_updates = yes
      emit_via = motd
    [root@myserver ~] systemctl start dnf-automatic
    [root@myserver ~] systemctl start dnf-automatic.timer
    [root@myserver ~] systemctl enable dnf-automatic.timer
    

neccessary service

  • clock sync
    [root@myserver ~] vi /etc/chrony.conf
      server 192.168.0.11 iburst
      server 192.168.0.12 iburst
    [root@myserver ~] systemctl restart chronyd
    
  • smtp server
    [root@myserver ~] yum install postfix
    [root@myserver ~] vi /etc/postfix/main.cf
       relayhost = clocksync.myserver.local
    [root@myserver ~] systemctl restart postfix
    [root@myserver ~] systemctl enable postfix
    
  • [root@myserver ~] systemctl stop firewalld
    [root@myserver ~] systemctl disable firewalld
    

misc.

  • zabbix server
    [root@myserver ~] yum install zabbix-agent zabbix-get zabbix-sender
    [root@myserver ~] vi /etc/zabbix/zabbix_agentd.conf
      Server=192.168.1.51
      ServerActive=192.168.1.51
      Hostname=myserver.local
    [root@myserver ~] systemctl start zabbix-agent
    [root@myserver ~] systemctl enable zabbix-agent
    
  • history
    [root@myserver ~] vi /etc/profile
      HISTSIZE=6000
      HISTTIMEFORMAT="%F %T> "
    [root@myserver ~] source /etc/profile
    

oracle

[root@myserver ~] yum install pre-installation
[root@myserver ~] passwd oracle
[root@myserver ~] vi /etc/selinux/config  
    SELINUX=permissive
* disable transparent huge pages and reboot
[root@myserver ~] mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1  
[root@myserver ~] mkdir -p /u02/oradata  
[root@myserver ~] chown -R oracle:oinstall /u01 /u02  
[root@myserver ~] chmod -R 775 /u01 /u02  
* unzip installation file to $ORACLE_HOME
[root@myserver ~] export DISPLAY=192.168.1.10:0.0                                                      ### 192.168.1.10 = PC used to remote server
[root@myserver ~] export CV_ASSUME_DISTID=OEL7.8                                                       ### avoid error: java.lang.nullpointerexception
[root@myserver ~] ./runInstaller                                                                       ### privilege setting: choose "dba" for all role
[root@myserver ~] netca                                                                                ### (optional) when listener is not installed

credential prompt

  • os

    [oracle@myserver ~] vi ~/.bash_profile
      export PATH=$PATH:$HOME/.local/bin:$HOME/bin:/usr/local/bin
      export ORACLE_SID=HKCDB
      export ORAENV_ASK=NO
      . oraenv
      export ORAENV_ASK=YES
    
      PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch export PATH
      PS1='${ORACLE_SID}${ORACLE_PDB_SID:+(${ORACLE_PDB_SID})}@${HOSTNAME%} ${PWD} $ '
    
  • sqlplus

    do not customize prompt, the display output will be abnormal and lead to misjudgment when there is connection issue
    [oracle@myserver ~] vi $ORACLE_HOME/sqlplus/admin/glogin.sql
      define _editor=vi
    

    set serveroutput on size 1000000

    set trimspool on set long 5000 set linesize 237 set pagesize 9999

    column global_name new_value gname set termout off select lower(user) || '@' || replace(lower(global_name),'.gpch.local') global_name from global_name; set sqlprompt '&gname> ' set termout on

⚠️ **GitHub.com Fallback** ⚠️