Contents 1 Cofiguring Multipathing 1.1 Install Multipath Package. 1.2 Enable The Multipathing Service. 1.3 List Multipath Disks 2 Zoning FC On Linux 2.1 Find the WWN for the Ports 2.2 Issuing a LIP on the HBA 2.3 Fibre Channel Commands 3 Disk Configuration. 3.1 About Device Names And Paths In A Multipath Configuration 3.1.1 Physical […]
Tag: linux
How to force a FC refresh (forcelip) in Linux
How to force an FC refresh (forcelip) in Linux
1 |
echo '- - -' > /sys/class/scsi_host/host$i/scan |
Linux RAID & LVM
LVM stuff
1 2 3 4 5 |
pvdisplay vgdisplay lvdisplay |
Check status
1 2 3 |
cat /proc/mdstat cat /etc/mdadm.conf |
Make Raid 10
1 2 3 4 |
mdadm --create /dev/md30 --run --level=10 --chunk=4 --raid-devices=4 /dev/sda /dev/sdb /dev/sdd /dev/sdf mdadm --examine /dev/md30 mdadm --detail /dev/md30 |
Make file system
1 2 3 4 5 |
mkfs.ext4 -O extent -b 4096 -E stride=128,stripe-width=128 -O ^has_journal /dev/md30 tune2fs -o journal_data_writeback /dev/md30 # append output to /etc/mdadm.conf mdadm --detail --scan|grep d30 >>/etc/mdadm.conf |
Add to /etc/fstab
1 |
echo "#">>/etc/fstab; echo "/dev/md30 /data ext4 discard,defaults,data=writeback 0 0" >>/etc/fstab |
Create home directory and access
1 2 |
mkdir /data mount /data |
Add User and group
1 2 |
groupadd solr useradd -d /home/solr -g solr -m -s /bin/bash -c "Solr Search" solr |
Create solr directory & access
1 2 3 4 |
mkdir /data/solr;chown solr:solr /data/solr;chmod 770 /data/solr passwd solr devtech101solr# |
1 |
Source – howto migarte to raid on live system
Configuring Linux LDAP & SSSD
Follow the process below to get ldap working on Linux First, Disable the firewall (or configure to allow LDAP traffic).
1 2 3 4 5 |
systemctl disable firewalld systemctl stop firewalld /etc/selinux/config SELINUX=disabled |
LDAP configuration
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# DC1 echo -n | openssl s_client -connect ldap1.domain.com:1636 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /etc/openldap/cacerts/ldap1.pem echo -n | openssl s_client -connect ldap2.domain.com:1636 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /etc/openldap/cacerts/ldap2.pem # DC2 echo -n | openssl s_client -connect ldap3.domain.com:1636 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /etc/openldap/cacerts/ldap3.pem echo -n | openssl s_client -connect ldap4.domain.com:1636 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /etc/openldap/cacerts/ldap4.pem yum install sssd nss-pam-ldapd.x86_64 openldap-clients scp solr:/etc/sssd/sssd.conf /etc/sssd/sssd.conf service sssd start systemctl enable sssd.service authconfig --enableldap --enableldapauth --ldapserver=ldaps://ldap1.domain.com:1636/,ldaps://ldap2.domain.com:1636/ --ldapbasedn="o=devtech101.com,dc=subdomian,dc=com" --update #modify /etc/pam.d/password-auth - change 1000 to 100 auth requisite pam_succeed_if.so uid >= 100 quiet_success # Now Restart service sssd start # Modify /etc/security/access.conf + : ALL : LOCAL + : root : ALL + : @sysadmin-group : ALL + : @webapp-group : ALL -:ALL:ALL |
You might also like How to configure SSSD / LDAP on Linux (Oracle big data appliance(BDA))
Creating a Linux Bond With vLan Tags
How to create a vlan interface and start at boot time. First check if the bounding module is loaded.
1 |
lsmod | grep 8021q |
/etc/sysconfig/network-scripts/ifcfg-solr
1 2 3 4 |
DEVICE=solr TYPE=Ethernet BOOTPROTO=none ONBOOT=yes |
/etc/sysconfig/network-scripts/ifcfg-solr.2018
1 2 3 4 5 6 7 8 9 |
DEVICE=solr.2018 IPADDR=10.10.18.51 NETWORK=10.10.18.0 NETMASK=255.255.254.0 GATEWAY=10.10.18.1 ONBOOT=yes BOOTPROTO=none USERCTL=no VLAN=yes |
To test just issue
1 2 3 |
/etc/init.d/network restart or ifup [if_name] |
To remove the new vlan
1 2 3 4 5 |
How to remove VLAN ID 2018? Type the following commands # ip link set dev solr.2018 down # ip link delete solr.2018 |
How to configure bonding First make sure the bonding module is loaded, then create the configuration below /etc/sysconfig/network-scripts/ifcfg-bond0
1 2 3 4 5 6 7 8 |
DEVICE=bond0 BONDING_MASTER=yes ONBOOT=yes MTU=9000 NETWORK=10.151.18.0 NETMASK=255.255.254.0 IPADDR=10.151.18.51 BONDING_OPTS="mode=1 miimon=100" |
/etc/sysconfig/network-scripts/ifcfg-dmznet_pvi […]
OpenStack – Linux workprogress
Openstack docs
1 2 3 |
http://lifeandshell.com/installing-openstack-centos-7/ http://www.tecmint.com/openstack-installation-guide-rhel-centos/ https://www.rdoproject.org/install/quickstart/ |
Openstack video
1 2 3 |
https://www.youtube.com/watch?v=eOlIB323c8s https://www.youtube.com/watch?v=huZa-YZ20qs#t=1.34627 https://www.youtube.com/results?search_query=openstack+multi+node+installation |
How to install Linux (OEL) on SPARC
How to configure OVM for SPARC(LDOMS) for (OEL) Below is a OVM for SPARC(LDOMS) configuration to run Linux (OEL) on a SPARC server (T5/T7). Note: The T5-x or T7-x might require the latest firmware for this to work.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
ldm add-vcc port-range=5000-5100 primary-vcc0 primary svcadm enable svc:/ldoms/vntsd:default ldm set-core 28 primary ldm set-memory 256g primary ldm add-domain oel7-tst1 #ldm add-vcpu 16 oel7-tst1 ldm set-core 2 oel7-tst1 ldm add-memory 16g oel7-tst1 ldm add-vnet vnet0 primary-vsw0 oel7-tst1 ldm add-vdiskserver primary-vds0 primary ldm add-vdsdev /dev/dsk/c0t5000CCA01612DD0Cd0s2 c0t5000CCA01612DD0Cd0@primary-vds0 ldm add-vdisk vdisk1 c0t5000CCA01612DD0Cd0@primary-vds0 oel7-tst1 ldm add-vdiskserverdevice /root/linux-sparc-1.0-DVD.iso oel-iso@primary-vds0 ldm add-vdisk cdrom oel-iso@primary-vds0 oel7-tst1 # ldm add-vswitch net-dev=aggr1 primary-vsw0 primary ldm set-vswitch vid=2000 primary-vsw0 ldm set-vnet pvid=2000 vid=999 vswitch=primary-vsw0 vnet0 oel7-tst1 # ldm bind-domain oel7-tst1 ldm start oel7-tst1 # boot cdrom linux text |
https://oss.oracle.com/projects/linux-sparc/documentation/ https://oss.oracle.com/linux-sparc/docs/RELEASE-NOTES-1.0-en.html
How to measure network Bandwidth in Linux
Usage as below from same folder: To check packer per interface: ./netpps.sh eth0 To check speed per interface: ./netspeed.sh eth0 Measure Packets per Second on an Interface netpps.sh as file name
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<span class="com">#!/bin/bash</span><span class="pln"> INTERVAL</span><span class="pun">=</span><span class="str">"1"</span><span class="pln"> </span><span class="com"># update interval in seconds</span><span class="pln"> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">[</span><span class="pln"> </span><span class="pun">-</span><span class="pln">z </span><span class="str">"$1"</span><span class="pln"> </span><span class="pun">];</span><span class="pln"> </span><span class="kwd">then</span><span class="pln"> echo echo usage</span><span class="pun">:</span><span class="pln"> $0 </span><span class="pun">[</span><span class="pln">network</span><span class="pun">-</span><span class="pln">interface</span><span class="pun">]</span><span class="pln"> echo echo e</span><span class="pun">.</span><span class="pln">g</span><span class="pun">.</span><span class="pln"> $0 eth0 echo echo shows packets</span><span class="pun">-</span><span class="pln">per</span><span class="pun">-</span><span class="pln">second exit </span><span class="kwd">fi</span><span class="pln"> IF</span><span class="pun">=</span><span class="pln">$1 </span><span class="kwd">while</span><span class="pln"> true </span><span class="kwd">do</span><span class="pln"> R1</span><span class="pun">=</span><span class="str">`cat /sys/class/net/$1/statistics/rx_packets`</span><span class="pln"> T1</span><span class="pun">=</span><span class="str">`cat /sys/class/net/$1/statistics/tx_packets`</span><span class="pln"> sleep $INTERVAL R2</span><span class="pun">=</span><span class="str">`cat /sys/class/net/$1/statistics/rx_packets`</span><span class="pln"> T2</span><span class="pun">=</span><span class="str">`cat /sys/class/net/$1/statistics/tx_packets`</span><span class="pln"> TXPPS</span><span class="pun">=</span><span class="str">`expr $T2 - $T1`</span><span class="pln"> RXPPS</span><span class="pun">=</span><span class="str">`expr $R2 - $R1`</span><span class="pln"> echo </span><span class="str">"TX $1: $TXPPS pkts/s RX $1: $RXPPS pkts/s"</span><span class="pln"> </span><span class="kwd">done</span> |
Measure Network Bandwidth on an Interface netspeed.sh as file name
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
<span class="com">#!/bin/bash</span><span class="pln"> INTERVAL</span><span class="pun">=</span><span class="str">"1"</span><span class="pln"> </span><span class="com"># update interval in seconds</span><span class="pln"> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">[</span><span class="pln"> </span><span class="pun">-</span><span class="pln">z </span><span class="str">"$1"</span><span class="pln"> </span><span class="pun">];</span><span class="pln"> </span><span class="kwd">then</span><span class="pln"> echo echo usage</span><span class="pun">:</span><span class="pln"> $0 </span><span class="pun">[</span><span class="pln">network</span><span class="pun">-</span><span class="pln">interface</span><span class="pun">]</span><span class="pln"> echo echo e</span><span class="pun">.</span><span class="pln">g</span><span class="pun">.</span><span class="pln"> $0 eth0 echo exit </span><span class="kwd">fi</span><span class="pln"> IF</span><span class="pun">=</span><span class="pln">$1 </span><span class="kwd">while</span><span class="pln"> true </span><span class="kwd">do</span><span class="pln"> R1</span><span class="pun">=</span><span class="str">`cat /sys/class/net/$1/statistics/rx_bytes`</span><span class="pln"> T1</span><span class="pun">=</span><span class="str">`cat /sys/class/net/$1/statistics/tx_bytes`</span><span class="pln"> sleep $INTERVAL R2</span><span class="pun">=</span><span class="str">`cat /sys/class/net/$1/statistics/rx_bytes`</span><span class="pln"> T2</span><span class="pun">=</span><span class="str">`cat /sys/class/net/$1/statistics/tx_bytes`</span><span class="pln"> TBPS</span><span class="pun">=</span><span class="str">`expr $T2 - $T1`</span><span class="pln"> RBPS</span><span class="pun">=</span><span class="str">`expr $R2 - $R1`</span><span class="pln"> TKBPS</span><span class="pun">=</span><span class="str">`expr $TBPS / 1024`</span><span class="pln"> RKBPS</span><span class="pun">=</span><span class="str">`expr $RBPS / 1024`</span><span class="pln"> echo </span><span class="str">"TX $1: $TKBPS kB/s RX $1: $RKBPS kB/s"</span><span class="pln"> </span><span class="kwd">done</span> |
How To Enable In Linux Specific User Logins (netgroup)
Modify /etc/security/access.conf
1 2 3 4 5 6 |
+ : ALL : LOCAL + : @groupA : ALL + : userA : ALL + : root : ALL + : userB : ALL -:ALL:ALL |
Capturing Linux network statistics – perl script
Capture Linux network statistics Example capture output is below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
collisions : 0 0 0 multicast : 2101 0 0 rx_bytes : 1079497308853 15334 12768 rx_compressed : 0 0 0 rx_crc_errors : 0 0 0 rx_dropped : 0 0 0 rx_errors : 0 0 0 rx_fifo_errors : 0 0 0 rx_frame_errors : 0 0 0 rx_length_errors : 0 0 0 rx_missed_errors : 897 0 0 rx_over_errors : 0 0 0 rx_packets : 1921006922 175 135 tx_aborted_errors : 0 0 0 tx_bytes : 2413670939512 22024 21054 tx_carrier_errors : 0 0 0 tx_compressed : 0 0 0 tx_dropped : 0 0 0 tx_errors : 0 0 0 tx_fifo_errors : 0 0 0 tx_heartbeat_errors : 0 0 0 tx_packets : 2450565916 146 114 tx_window_errors : 0 0 0 eth0 : 00:11:17.002477 1s 5s 15s 60s |
Perl script source is below
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
#!/usr/bin/perl use strict; use warnings; use POSIX qw(strftime); use Time::HiRes qw(gettimeofday usleep); my $dev = @ARGV ? shift : 'eth0'; my $dir = "/sys/class/net/$dev/statistics"; my %stats = do { opendir +(my $dh), $dir; local @_ = readdir $dh; closedir $dh; map +($_, []), grep !/^\.\.?$/, @_; }; if (-t STDOUT) { while (1) { print "\033[H\033[J", run(); my ($time, $us) = gettimeofday(); my ($sec, $min, $hour) = localtime $time; { local $| = 1; printf '%-31.31s: %02d:%02d:%02d.%06d%8s%8s%8s%8s', $dev, $hour, $min, $sec, $us, qw(1s 5s 15s 60s) } usleep($us ? 1000000 - $us : 1000000); } } else {print run()} sub run { map { chomp (my ($stat) = slurp("$dir/$_")); my $line = sprintf '%-31.31s:%16.16s', $_, $stat; $line .= sprintf '%8.8s', int (($stat - $stats{$_}->[0]) / 1) if @{$stats{$_}} > 0; $line .= sprintf '%8.8s', int (($stat - $stats{$_}->[4]) / 5) if @{$stats{$_}} > 4; $line .= sprintf '%8.8s', int (($stat - $stats{$_}->[14]) / 15) if @{$stats{$_}} > 14; $line .= sprintf '%8.8s', int (($stat - $stats{$_}->[59]) / 60) if @{$stats{$_}} > 59; unshift @{$stats{$_}}, $stat; pop @{$stats{$_}} if @{$stats{$_}} > 60; "$line\n"; } sort keys %stats; } sub slurp { local @ARGV = @_; local @_ = <>; @_; } |