傳遞內核參數 net.ifnames=0 biosdevname=0,以更改網卡名稱爲eth0,ethX:linux
#出現安裝界面時使用鍵盤上下鍵移動到第一行即Install Centos Linux 7,而後按tab鍵,便可出現傳遞參數界面。ios
2.1.4最小化安裝:算法
# vim /etc/hostnamevim
linux-host1.exmaple.comcentos
# vim /etc/hostname服務器
linux-host2.exmaple.com網絡
# vim /etc/hostname併發
linux-host3.exmaple.com負載均衡
………………!dom
或公司內部有DNS解析主機名:
# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.201 linux-host1.exmaple.com linux-host1
192.168.10.202 linux-host2.exmaple.com linux-host2
192.168.10.203 linux-host3.exmaple.com linux-host3
………………!
# systemctl disable firewalld
# systemctl stop firewalld
# systemctl disable NetworkManager
# systemctl stop NetworkManager
# vim /etc/selinux/config
SELINUX=disabled
Linux 多網卡綁定
網卡綁定mode共有七種(0~6) bond0、bond一、bond二、bond三、bond四、bond五、bond6
經常使用的有三種
mode=0:平衡負載模式,有自動備援,但須要」Switch」支援及設定。
mode=1:自動備援模式,其中一條線若斷線,其餘線路將會自動備援。
mode=6:平衡負載模式,有自動備援,沒必要」Switch」支援及設定。
須要說明的是若是想作成mode 0的負載均衡,僅僅設置這裏options bond0 miimon=100 mode=0是不夠的,與網卡相連的交換機必須作特殊配置(這兩個端口應該採起聚合方式),由於作bonding的這兩塊網卡是使用同一個MAC地址.從原理分析一下(bond運行在mode 0下):
mode 0下bond所綁定的網卡的IP都被修改爲相同的mac地址,若是這些網卡都被接在同一個交換機,那麼交換機的arp表裏這個mac地址對應的端口就有多 個,那麼交換機接受到發往這個mac地址的包應該往哪一個端口轉發呢?正常狀況下mac地址是全球惟一的,一個mac地址對應多個端口確定使交換機迷惑了。因此 mode0下的bond若是鏈接到交換機,交換機這幾個端口應該採起聚合方式(cisco稱爲 ethernetchannel,foundry稱爲portgroup),由於交換機作了聚合後,聚合下的幾個端口也被捆綁成一個mac地址.咱們的解 決辦法是,兩個網卡接入不一樣的交換機便可。
mode6模式下無需配置交換機,由於作bonding的這兩塊網卡是使用不一樣的MAC地址。
七種bond模式說明:
第一種模式:mod=0 ,即:(balance-rr) Round-robin policy(平衡掄循環策略)
特色:傳輸數據包順序是依次傳輸(即:第1個包走eth0,下一個包就走eth1….一直循環下去,直到最後一個傳輸完畢),此模式提供負載平衡和容錯能力;可是咱們知道若是一個鏈接或者會話的數據包從不一樣的接口發出的話,中途再通過不一樣的鏈路,在客戶端頗有可能會出現數據包無序到達的問題,而無序到達的數據包須要從新要求被髮送,這樣網絡的吞吐量就會降低
第二種模式:mod=1,即: (active-backup) Active-backup policy(主-備份策略)
特色:只有一個設備處於活動狀態,當一個宕掉另外一個立刻由備份轉換爲主設備。mac地址是外部可見得,從外面看來,bond的MAC地址是惟一的,以免switch(交換機)發生混亂。此模式只提供了容錯能力;因而可知此算法的優勢是能夠提供高網絡鏈接的可用性,可是它的資源利用率較低,只有一個接口處於工做狀態,在有 N 個網絡接口的狀況下,資源利用率爲1/N
第三種模式:mod=2,即:(balance-xor) XOR policy(平衡策略)
特色:基於指定的傳輸HASH策略傳輸數據包。缺省的策略是:(源MAC地址 XOR 目標MAC地址) % slave數量。其餘的傳輸策略能夠經過xmit_hash_policy選項指定,此模式提供負載平衡和容錯能力
第四種模式:mod=3,即:broadcast(廣播策略)
特色:在每一個slave接口上傳輸每一個數據包,此模式提供了容錯能力
第五種模式:mod=4,即:(802.3ad) IEEE 802.3ad Dynamic link aggregation(IEEE 802.3ad 動態連接聚合)
特色:建立一個聚合組,它們共享一樣的速率和雙工設定。根據802.3ad規範將多個slave工做在同一個激活的聚合體下。
外出流量的slave選舉是基於傳輸hash策略,該策略能夠經過xmit_hash_policy選項從缺省的XOR策略改變到其餘策略。須要注意的 是,並非全部的傳輸策略都是802.3ad適應的,尤爲考慮到在802.3ad標準43.2.4章節說起的包亂序問題。不一樣的實現可能會有不一樣的適應 性。
必要條件:
條件1:ethtool支持獲取每一個slave的速率和雙工設定
條件2:switch(交換機)支持IEEE 802.3ad Dynamic link aggregation
條件3:大多數switch(交換機)須要通過特定配置才能支持802.3ad模式
第六種模式:mod=5,即:(balance-tlb) Adaptive transmit load balancing(適配器傳輸負載均衡)
特色:不須要任何特別的switch(交換機)支持的通道bonding。在每一個slave上根據當前的負載(根據速度計算)分配外出流量。若是正在接受數據的slave出故障了,另外一個slave接管失敗的slave的MAC地址。
該模式的必要條件:ethtool支持獲取每一個slave的速率
第七種模式:mod=6,即:(balance-alb) Adaptive load balancing(適配器適應性負載均衡)
特色:該模式包含了balance-tlb模式,同時加上針對IPV4流量的接收負載均衡(receive load balance, rlb),並且不須要任何switch(交換機)的支持。接收負載均衡是經過ARP協商實現的。bonding驅動截獲本機發送的ARP應答,並把源硬件地址改寫爲bond中某個slave的惟一硬件地址,從而使得不一樣的對端使用不一樣的硬件地址進行通訊。
來自服務器端的接收流量也會被均衡。當本機發送ARP請求時,bonding驅動把對端的IP信息從ARP包中複製並保存下來。當ARP應答從對端到達 時,bonding驅動把它的硬件地址提取出來,併發起一個ARP應答給bond中的某個slave。使用ARP協商進行負載均衡的一個問題是:每次廣播 ARP請求時都會使用bond的硬件地址,所以對端學習到這個硬件地址後,接收流量將會所有流向當前的slave。這個問題能夠經過給全部的對端發送更新 (ARP應答)來解決,應答中包含他們獨一無二的硬件地址,從而致使流量從新分佈。當新的slave加入到bond中時,或者某個未激活的slave從新 激活時,接收流量也要從新分佈。接收的負載被順序地分佈(round robin)在bond中最高速的slave上
當某個鏈路被從新接上,或者一個新的slave加入到bond中,接收流量在全部當前激活的slave中所有從新分配,經過使用指定的MAC地址給每一個 client發起ARP應答。下面介紹的updelay參數必須被設置爲某個大於等於switch(交換機)轉發延時的值,從而保證發往對端的ARP應答 不會被switch(交換機)阻截。
必要條件:
條件1:ethtool支持獲取每一個slave的速率;
條件2:底層驅動支持設置某個設備的硬件地址,從而使得老是有個slave(curr_active_slave)使用bond的硬件地址,同時保證每一個bond 中的slave都有一個惟一的硬件地址。若是curr_active_slave出故障,它的硬件地址將會被新選出來的 curr_active_slave接管
其實mod=6與mod=0的區別:mod=6,先把eth0流量佔滿,再佔eth1,….ethX;而mod=0的話,會發現2個口的流量都很穩定,基本同樣的帶寬。而mod=6,會發現第一個口流量很高,第2個口只佔了小部分流量
# cd /etc/sysconfig/network-scripts/
bond0配置:
# vim ifcfg-bond0
BOOTPROTO=static
NAME=bond0
DEVICE=bond0
ONBOOT=yes
BONDING_MASTER=yes
BONDING_OPTS="mode=1 miimon=100" #指定綁定類型爲1及鏈路狀態監測間隔時間
IPADDR=192.168.10.21
NETMASK=255.255.255.0
GATEWAY=192.168.10.2
DNS1=202.106.0.20
eth0配置:
# cat ifcfg-eth0
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
NM_CONTROLLED=no
MASTER=bond0
USERCTL=no
SLAVE=yes
ech1配置
# vim ifcfg-eth1
BOOTPROTO=static
NAME=eth1
DEVICE=eth1
ONBOOT=yes
NM_CONTROLLED=no
MASTER=bond0
USERCTL=no
SLAVE=yes
# cd /etc/sysconfig/network-scripts/
Bond1配置:
# vim ifcfg-bond1
BOOTPROTO=static
NAME=bond1
DEVICE=bond1
ONBOOT=yes
BONDING_MASTER=yes
BONDING_OPTS="mode=1 miimon=100" #指定綁定類型爲1及鏈路狀態監測間隔時間
IPADDR=192.168.20.21
NETMASK=255.255.255.0
eth2配置:
# vim ifcfg-eth2
BOOTPROTO=static
NAME=eth2
DEVICE=eth2
ONBOOT=yes
NM_CONTROLLED=no
MASTER=bond1
USERCTL=no
SLAVE=yes
eth3配置:
# vim ifcfg-eth3
BOOTPROTO=static
NAME=eth3
DEVICE=eth3
ONBOOT=yes
NM_CONTROLLED=no
MASTER=bond1
USERCTL=no
SLAVE=yes
# systemctl restart network
# ifconfig
# ping www.baidu.com
# ping 192.168.20.1
# yum install wget –y
# rm -rf /etc/yum.repos.d/*
# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# yum install –y centos-release-openstack-ocata.noarch
# yum install -y https://rdoproject.org/repos/rdo-release.rpm
# yum clean all
# yum makecache
主:更新阿里雲openstack-ocata源,需更改rdo.repo, openstack-ocata.repo中的源爲:
http://mirrors.aliyun.com/centos/7/cloud/x86_64/openstack-ocata/
http://mirrors.aliyun.com/centos/7/cloud/x86_64/openstack-queens/
yum list centos-release-openstack*
# yum install -y net-tools vim lrzsz tree screen lsof ntpdate telnet wget
時間必須保持一致,不然可能致使沒法建立虛擬機等問題:
一、時區同步:
# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
二、時間同步:
# ntpdate time3.aliyun.com && hwclock -w
三、寫入crontab保證明時同步:
# vim /etc/crontab
* */5 * * * root ntpdate time3.aliyun.com
# poweroff