環境:控制節點:
node-1
node-2
node-3
node-4
node-5
網路節點:
node-17
node-18
node-19
具體工作:
將node-1node-5的dhcp服務遷移到node17->node-19
操作流程
分別備份node-17 node-18 node-19的neutron.conf檔案。在node-17,18,19執行:
#cd /etc/neutron
#cp neutron.conf neutron.conf.bak
將node-1的neutron.conf拷貝到node-17,18,19的目錄
進入node-1,執行:
#cd /etc/neutron
#scp neutron.conf node-17: `pwd`
#scp neutron.conf node-18: `pwd`
#scp neutron.conf node-19: `pwd`
#systemctl restart neutron-openvswitch-agent neutron-dhcp-agent neu tron-metadata-agent
#systemctl enable neutron-openvswitch-agent neutron-dhcp-agent neutron-metadata-agent
#systemctl status neutron-openvswitch-agent neutron-dhcp-agent neutron-metadata-agent
(三個服務的狀態都應該是active)
分別修改node1->node-5的neutron.conf檔案
#cd /etc/neutron.conf
#vim neutron.conf
查詢 dhcp_agents 將配置檔案中的14改成3
儲存退出。
分別重啟node1->node-5的neutron-server服務
#systemctl restart neutron-server
分別移除node1->node-5中與dhcp關聯的network,以node-1為例:
#source openrc
#hostname (返回:node-1.doman.tld)
#neutron agent-list --host= node-1.doman.tld –c id –c agent_type –c alive
可以獲取到dhcp-agent和metadata-agent的id,如下圖
查詢與dhcp關聯的network
#ip netns|grep dhcp
(執行結果如下圖)
分別移除所有與dhcp關聯的network
#neutron dhcp-agent-network-remove
具體如下圖:
分 別停止node-1->node-5的dhcp和metadata服務
#systemctl stop neutron-dhcp-agent neutron-metadata-agent
#systemctl disable neutron-dhcp-agent neutron-metedata-agent
分別刪除node-1->node-5的dhcp和metadata服務
#neutron agent-delete (dhcp-agent-id)
#neutron agent-delete (metadata-agent-id)
分別測試遷移的dhcp是否網路可通
例:先連線node-17 另開視窗連線node-19
node-17如下操作:
#ip netns|grep dhcp
從network中找乙個dhcp id,檢視ip位址
#ip netns exec qdhcp-id ip addr
記錄ip位址 同樣操作在node-19上
#ip netns|grep dhcp
#ip netns exec qdhcp-id ip addr
#ip netns exec qdhcp-id ip ping node-17-ip
理論是通的
第二次遇到乙個問題 dhcp找不到驅動 導致dhcp服務啟動失敗
解決方案是
在 /etc/neutron/目錄下
修改dhcp-agent.ini的配置檔案 跟原有的dhcp的配置檔案比對 找到有一行關於驅動的差異
利用docker除錯OpenStack服務
從工作開始就一直做openstack的開發,期間經歷了做私有雲的開發,到現在在做公有雲網路控制器的開發。開發除錯的時候,最讓我頭疼的是不是除錯 和找bug。而是將自己改動的openstack部署到測試環境進行測試,哪怕是乙個簡單的業務邏輯修改。基本上60 以上的時間都花在了部署環境上。由於後面要開發...
OpenStack之Swift swift表結構
表account stat id名稱 型別 長度 預設值備註 account text created at text put timestamp text 0delete timestamp text 0container count integer object count integer 0b...
Openstack之KeyStone學習(一)
openstack 是乙個美國國家航空航天局和 rackspace 合作研發的雲計算軟體,以 apache 許可證授權,並且是乙個 自由軟體和開放源 專案。openstack 是iaas 基礎設施即服務 平台,讓任何人都可以自行建立和提供雲端 運算服務。以下是5個 openstack 的重要構成部分...