- Mastering Ceph
- Nick Fisk
- 477字
- 2021-07-09 19:55:13
Setting up Vagrant
Perform the following steps in order to set up Vagrant:
- Follow installation instructions from Vagrant's website https://www.vagrantup.com/downloads.html to get Vagrant installed on your chosen OS:

- Create a new directory for your Vagrant project; for example, ceph-ansible.
- Change to this directory and run the following commands:
vagrant plugin install vagrant-hostmanager
The preceding command gives the following output:

vagrant box add bento/ubuntu-16.04
The preceding command gives the following output:

Now create an empty file named Vagrantfile and place the following into it:
nodes = [
{ :hostname => 'ansible', :ip => '192.168.0.40', :box => 'xenial64'
},
{ :hostname => 'mon1', :ip => '192.168.0.41', :box => 'xenial64' },
{ :hostname => 'mon2', :ip => '192.168.0.42', :box => 'xenial64' },
{ :hostname => 'mon3', :ip => '192.168.0.43', :box => 'xenial64' },
{ :hostname => 'osd1', :ip => '192.168.0.51', :box => 'xenial64',
:ram => 1024, :osd => 'yes' },
{ :hostname => 'osd2', :ip => '192.168.0.52', :box => 'xenial64',
:ram => 1024, :osd => 'yes' },
{ :hostname => 'osd3', :ip => '192.168.0.53', :box => 'xenial64',
:ram => 1024, :osd => 'yes' }
]
Vagrant.configure("2") do |config|
nodes.each do |node|
config.vm.define node[:hostname] do |nodeconfig|
nodeconfig.vm.box = "bento/ubuntu-16.04"
nodeconfig.vm.hostname = node[:hostname]
nodeconfig.vm.network :private_network, ip: node[:ip]
memory = node[:ram] ? node[:ram] : 512;
nodeconfig.vm.provider :virtualbox do |vb|
vb.customize [
"modifyvm", :id,
"--memory", memory.to_s,
]
if node[:osd] == "yes"
vb.customize [ "createhd", "--filename", "disk_osd-#
{node[:hostname]}", "--size", "10000" ]
vb.customize [ "storageattach", :id, "--storagectl", "SATA
Controller", "--port", 3, "--device", 0, "--type", "hdd",
"--medium", "disk_osd-#{node[:hostname]}.vdi" ]
end
end
end
config.hostmanager.enabled = true
config.hostmanager.manage_guest = true
end
end
Run vagrant up to bring up the VMs defined in Vagrantfile:

Now let's connect to the ansible VM using ssh:
vagrant ssh ansible
The preceding command gives the following output:

PuTTY would be a good suggestion for an SSH client. On Linux, the command will connect you straight onto the VM.
The username and password are both vagrant. After logging in, you should find yourself sitting at the Bash shell of the ansible VM:

Simply type exit to return to your host machine.
Congratulations! You have just deployed three servers for using as Ceph monitors, three servers for using as Ceph OSDs, and an Ansible server. Vagrantfile could have also contained extra steps to execute commands on the servers to configure them, but for now, let's shut down the servers using the following command; we can bring them back up for when needed by the examples later in this chapter:
vagrant destroy --force
- Word 2000、Excel 2000、PowerPoint 2000上機指導與練習
- Mastering Spark for Data Science
- 平面設計初步
- 計算機圖形學
- 協(xié)作機器人技術及應用
- 2018西門子工業(yè)專家會議論文集(上)
- Microsoft System Center Confi guration Manager
- 基于企業(yè)網(wǎng)站的顧客感知服務質量評價理論模型與實證研究
- Linux嵌入式系統(tǒng)開發(fā)
- Silverlight 2完美征程
- Mastering MongoDB 3.x
- 機器學習案例分析(基于Python語言)
- Hands-On Geospatial Analysis with R and QGIS
- Cisco UCS Cookbook
- 玩轉機器人:基于Proteus的電路原理仿真(移動視頻版)