Neutron創(chuàng)建獨(dú)立的DHCP作用域

背景####

前段時間測試部門的同事申請了一些物理機(jī)接入到OpenStack環(huán)境中,用于部署一套完全隔離的功能測試環(huán)境咐低。其最基本的需求就是要是實現(xiàn)網(wǎng)絡(luò)的隔離性揽思。由于Neutron這邊采用的OVS + Vlan的方式,單純的安全組策略并不能滿足復(fù)雜的需求见擦,所以大部分的隔離是在交換機(jī)上做訪問策略钉汗。整理了下隔離環(huán)境的網(wǎng)絡(luò)需求,由于不涉及本文內(nèi)容鲤屡,就簡單表述了下:

  • 內(nèi)網(wǎng)業(yè)務(wù)測試環(huán)境虛擬機(jī)不能訪問線上環(huán)境损痰;

  • 內(nèi)網(wǎng)虛擬機(jī)需要和線上基礎(chǔ)服務(wù)(包含監(jiān)控、配置管理酒来、自動化卢未、源等等)端通信;

  • 要求兩臺負(fù)載均衡器虛擬機(jī)能夠被辦公網(wǎng)訪問堰汉,同時可以訪問測試虛擬機(jī)辽社;

  • 要求所有測試環(huán)境網(wǎng)段能通過堡壘機(jī)訪問;

在這里翘鸭,如果網(wǎng)絡(luò)隔離放在物理機(jī)交換上實現(xiàn)滴铅,那么OpenStack這里就只需要做到計算資源的隔離和租戶獨(dú)占的網(wǎng)絡(luò)即可。

計算資源通過創(chuàng)建新的Availalibity Zone來給測試部門使用就乓,這部分很簡單汉匙,按下不表拱烁。

租戶獨(dú)占網(wǎng)絡(luò)分兩部分配置,一是配置Neutron客戶端配置噩翠;二是調(diào)整Dhcp-agent作用域戏自。

操作####

1.調(diào)整ML2配置,使改節(jié)點上創(chuàng)建的虛擬網(wǎng)絡(luò)只能是OpenStack物理網(wǎng)絡(luò)(physnet)伤锚,

$ cat /etc/neutron/plugins/ml2/ml2_conf.ini
[ml2_type_vlan]
network_vlan_ranges = physnet2:vlan_id_start:vlan_id_end

$ cat /etc/neutron/plugins/ml2/openvswitch_agent.ini
[ovs]
bridge_mappings = physnet2:br-em2    #外部網(wǎng)絡(luò)為physent2

2.租戶創(chuàng)建私有網(wǎng)絡(luò)

由于在底層ML2上Tenant的網(wǎng)絡(luò)驅(qū)動只有Vlan浦妄,所以這里創(chuàng)建下來的Net在Neutron中標(biāo)記是物理網(wǎng)絡(luò);

創(chuàng)建網(wǎng)絡(luò)
創(chuàng)建子網(wǎng)

在這里激活DHCP

精細(xì)配置項

3.更改DHCP作用域

neutron-dhcp-agent服務(wù)主要為租戶提供dhcp服務(wù)见芹,agent會在要作用網(wǎng)絡(luò)的OVS上綁定一個Port剂娄,將dnsmasq服務(wù)監(jiān)聽在這個Port上。那么neutron-dhcp-agent服務(wù)主要是3個部件:dhcp scheduler負(fù)責(zé)DHCP agent與network的調(diào)度玄呛;dhcp agent提供DHCP服務(wù)阅懦;dhcp driver主要實現(xiàn)的驅(qū)動,主要是dnsmasq

  • 查dhcp port
$ neutron port-list --device_owner=network:dhcp
+--------------------------------------+------+-------------------+------------------------------------------------------------------------------------+
| id                                   | name | mac_address       | fixed_ips                                                                          |
+--------------------------------------+------+-------------------+------------------------------------------------------------------------------------+
| a0b3461c-a87d-41fc-8b8d-5d04956d60bc |      | fa:16:3e:d1:4f:b0 | {"subnet_id": "e0b734e8-83b4-4a00-a7ef-a5c44b8b3d74", "ip_address": "10.1.1.1"}    |
+--------------------------------------+------+-------------------+------------------------------------------------------------------------------------+
  • 查dhcp-agent
$ neutron agent-list
+--------------------------------------+--------------------+-------------------------+-------------------+-------+----------------+---------------------------+
| id                                   | agent_type         | host                    | availability_zone | alive | admin_state_up | binary                    |
+--------------------------------------+--------------------+-------------------------+-------------------+-------+----------------+---------------------------+
| 1ffc04ce-9e3f-4549-b9fd-0033ae8f753b | DHCP agent         | l-01-mitaka.region1.com | nova              | :-)   | True           | neutron-dhcp-agent        |
| 5bbc1e7a-2a13-40fe-a533-64e69e60fad6 | Open vSwitch agent | l-01-mitaka.region1.com |                   | :-)   | True           | neutron-openvswitch-agent |
| 972a3b3e-d78e-4bb9-9a03-be5becd01c26 | Metering agent     | l-01-mitaka.region1.com |                   | :-)   | True           | neutron-metering-agent    |
| a9ee8c9a-1680-48e4-a398-0c2b0af2383f | L3 agent           | l-01-mitaka.region1.com | nova              | :-)   | True           | neutron-l3-agent          |
| cca0e384-c3e5-439a-8325-ef6ff8fdd934 | Metadata agent     | l-01-mitaka.region1.com |                   | :-)   | True           | neutron-metadata-agent    |
| fea81323-3599-4ad7-9083-601784aaba78 | Open vSwitch agent | l-02-mitaka.region1.com |                   | :-)   | True           | neutron-openvswitch-agent |
+--------------------------------------+--------------------+-------------------------+-------------------+-------+----------------+---------------------------+

在l-02-mitaka.region1.com節(jié)點上啟動neutron-dhcp-agent服務(wù)徘铝,結(jié)果再查結(jié)果

$ neutron agent-list
+--------------------------------------+--------------------+-------------------------+-------------------+-------+----------------+---------------------------+
| id                                   | agent_type         | host                    | availability_zone | alive | admin_state_up | binary                    |
+--------------------------------------+--------------------+-------------------------+-------------------+-------+----------------+---------------------------+
| 1ffc04ce-9e3f-4549-b9fd-0033ae8f753b | DHCP agent         | l-01-mitaka.region1.com | nova              | :-)   | True           | neutron-dhcp-agent        |
| 5bbc1e7a-2a13-40fe-a533-64e69e60fad6 | Open vSwitch agent | l-01-mitaka.region1.com |                   | :-)   | True           | neutron-openvswitch-agent |
| 972a3b3e-d78e-4bb9-9a03-be5becd01c26 | Metering agent     | l-01-mitaka.region1.com |                   | :-)   | True           | neutron-metering-agent    |
| a9ee8c9a-1680-48e4-a398-0c2b0af2383f | L3 agent           | l-01-mitaka.region1.com | nova              | :-)   | True           | neutron-l3-agent          |
| cca0e384-c3e5-439a-8325-ef6ff8fdd934 | Metadata agent     | l-01-mitaka.region1.com |                   | :-)   | True           | neutron-metadata-agent    |
| fea81323-3599-4ad7-9083-601784aaba78 | Open vSwitch agent | l-02-mitaka.region1.com |                   | :-)   | True           | neutron-openvswitch-agent |
| 5ebcaef1-401c-4572-b924-75289ea4d94e | DHCP agent         | l-02-mitaka.region1.com | nova              | :-)   | True           | neutron-dhcp-agent        |
+--------------------------------------+--------------------+-------------------------+-------------------+-------+----------------+---------------------------+
  • 查dhcp的綁定host
$ neutron  dhcp-agent-list-hosting-net <network id>
+--------------------------------------+-------------------------+----------------+-------+
| id                                   | host                    | admin_state_up | alive |
+--------------------------------------+-------------------------+----------------+-------+
| 1ffc04ce-9e3f-4549-b9fd-0033ae8f753b | l-01-mitaka.region1.com | True           | :-)   |
+--------------------------------------+-------------------------+----------------+-------+

這里看到默認(rèn)的網(wǎng)絡(luò)dhcp-agent是綁定到網(wǎng)絡(luò)節(jié)點上的耳胎,由于網(wǎng)絡(luò)節(jié)點與測試環(huán)境物理機(jī)的虛擬機(jī)網(wǎng)絡(luò)vlan之間是隔離的,所以這個時候租戶用這個網(wǎng)絡(luò)創(chuàng)建虛擬機(jī)并不能獲取到IP地址惕它。這個時候就需要更改dhcp綁定的host怕午。

  • 刪除綁定關(guān)系
$ neutron dhcp-agent-network-remove <network id> 1ffc04ce-9e3f-4549-b9fd-0033ae8f753b
  • 重建綁定關(guān)系
$ neutron dhcp-agent-network-remove <network id> 5ebcaef1-401c-4572-b924-75289ea4d94e

這個時候,我們就以通過登錄這臺物理機(jī)上查看ovs上綁定的dhcp作用port

$ ip netns exec qdhcp-6a96e7c1-1c2f-47a2-bbdd-e9282a58064f ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
17: tapa0b3461c-a8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
    link/ether fa:16:3e:d1:4f:b0 brd ff:ff:ff:ff:ff:ff
    inet 10.1.1.1/24 brd 10.1.31.255 scope global tapa0b3461c-a8
       valid_lft forever preferred_lft forever
    inet6 fe80::f816:3eff:fed1:4fb0/64 scope link
       valid_lft forever preferred_lft forever
       
$ ip netns exec qdhcp-6a96e7c1-1c2f-47a2-bbdd-e9282a58064f ps aux |grep dns
nobody    3836  0.0  0.0  15672  1048 ?        S    1月22   3:11 dnsmasq --no-hosts --no-resolv --strict-order --except-interface=lo --pid-file=/var/lib/neutron/dhcp/6a96e7c1-1c2f-47a2-bbdd-e9282a58064f/pid --dhcp-hostsfile=/var/lib/neutron/dhcp/6a96e7c1-1c2f-47a2-bbdd-e9282a58064f/host --addn-hosts=/var/lib/neutron/dhcp/6a96e7c1-1c2f-47a2-bbdd-e9282a58064f/addn_hosts --dhcp-optsfile=/var/lib/neutron/dhcp/6a96e7c1-1c2f-47a2-bbdd-e9282a58064f/opts --dhcp-leasefile=/var/lib/neutron/dhcp/6a96e7c1-1c2f-47a2-bbdd-e9282a58064f/leases --dhcp-match=set:ipxe,175 --bind-interfaces --interface=tapa0b3461c-a8 --dhcp-range=set:tag0,10.1.1.0,static,86400s --dhcp-option-force=option:mtu,1500 --dhcp-lease-max=512 --conf-file= --domain=openstacklocal

做到這里淹魄,測試部門的同事創(chuàng)建的虛擬機(jī)就能夠dchp到ip地址了郁惜。

番外

  • 如何釋放物理機(jī)的swap空間?

釋放swap的前提需要物理內(nèi)存有足夠的容量甲锡。接下來執(zhí)行命令swapoff -a && swapon -a就好了兆蕉。不過這個釋放的時間夠長的,16G足足用了4個半小時缤沦。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末虎韵,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子缸废,更是在濱河造成了極大的恐慌包蓝,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件企量,死亡現(xiàn)場離奇詭異测萎,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)梁钾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進(jìn)店門绳泉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來逊抡,“玉大人姆泻,你說我怎么就攤上這事零酪。” “怎么了拇勃?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵四苇,是天一觀的道長。 經(jīng)常有香客問我方咆,道長月腋,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任瓣赂,我火速辦了婚禮榆骚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘煌集。我一直安慰自己妓肢,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布苫纤。 她就那樣靜靜地躺著碉钠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪卷拘。 梳的紋絲不亂的頭發(fā)上喊废,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天,我揣著相機(jī)與錄音栗弟,去河邊找鬼污筷。 笑死,一個胖子當(dāng)著我的面吹牛乍赫,可吹牛的內(nèi)容都是我干的颓屑。 我是一名探鬼主播,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼耿焊,長吁一口氣:“原來是場噩夢啊……” “哼揪惦!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起罗侯,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤器腋,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后钩杰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體纫塌,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年讲弄,在試婚紗的時候發(fā)現(xiàn)自己被綠了措左。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡避除,死狀恐怖怎披,靈堂內(nèi)的尸體忽然破棺而出胸嘁,到底是詐尸還是另有隱情,我是刑警寧澤凉逛,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布性宏,位于F島的核電站,受9級特大地震影響状飞,放射性物質(zhì)發(fā)生泄漏毫胜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一诬辈、第九天 我趴在偏房一處隱蔽的房頂上張望酵使。 院中可真熱鬧,春花似錦焙糟、人聲如沸凝化。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽搓劫。三九已至,卻和暖如春混巧,著一層夾襖步出監(jiān)牢的瞬間枪向,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工咧党, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留秘蛔,地道東北人。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓傍衡,卻偏偏與公主長得像深员,于是被迫代替她去往敵國和親尉间。 傳聞我的和親對象是個殘疾皇子仰税,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內(nèi)容