FreeBSD 虚拟化(jail) 初体验

简介:

概念

        Jail是chroot机制的一种进化后的机制,翻译成中文叫“监狱”,它可以提高更为高级和灵活的隔离和监管机制,除了文件系统监管外,还实现了设备隔 离,用户隔离,系统资源隔离,使其更像是一种虚拟机机制了,与此相似的概念有linux下的openvz,以及Solaris下的Container。 Jail可以说是一种轻量级的虚拟机制,比较起linux下的openvz,差的地方有网络地址分配,共享库控制这两大方面.

 

如何构建Jail(本文基于FreeBSD 8.0 Release-p2)

         构建一个Jail,必备的几个参数有Jail的根目录,用户态程序,主机名以及IP地址,还有一个可选的dev。根据用户态程序的不同考虑可以将Jail做成完整的系统型Jail以及服务型Jail。

一、 构建Jail根目录


 
 
  1. # mkdir /jail/test 

二、构建用户态程序


 
 
  1. # cd /usr/src 
  2. # make world DESTDIR=/jail/test 

这里make world=make buildworld + make installworld,因此如果以前做过buildworld的话可以偷懒直接用以前build好的安装,可以节省大量时间(我试过,似乎不行,可能是哪里配置有误)

三、构建jail内系统运行需要的配置文件


 
 
  1. # make distribution DESTDIR=/jail/test 

四、修改rc.conf添加jail服务运行的必要参数,必备的有:


 
 
  1. jail_enable="YES" # 如果设为 NO 则表示不自动启动 jail 
  2. jail_list="test" # 以空格分隔的 jail 名字列表 

指定单个jail的必备参数:


 
 
  1. jail_test_rootdir="/jail/test" # jail 的根目录 
  2. jail_test_hostname="XXXX.XXXX.XXXX.XXXX" # jail 的主机名 
  3. jail_test_ip="XXXX.XXXX.XXXX.XXXX" # jail 的 IP 地址 

另外还有可选的devfs,用于控制jail里面使用哪些设备


 
 
  1. jail_test_devfs_enable="YES" # 挂接 devfs 
  2. jail_test_devfs_ruleset="test_ruleset" #  jail 中应用的devfs 规则集

 注:jail_test_devfs_enable="YES"这项虽是可选的,但一定要加上,否则会出现莫名其妙的错误,我就是因为这个,重新做前面的二三步骤三四次,浪费了不少时间。

至此Jail基本就建立完成了,现在来启动它。启动之前,我们还要来做几件准备的事情

1)为Jail指定IP


 
 
  1. ifconfig vr0 = "inet 10.4.0.6 netmask 255.255.255.0" 
  2. ifconfig vr0_alias = "inet 10.4.0.88 netmask 255.255.255.0" 

这也是BSD平台下为网卡指定另一个IP的方法,指定完,一定要重启网络服务生效

2)创建一些必要的系统文件


 
 
  1. # touch /jail/test/etc/fstab 

这个文件是个空文件,不需要添加任何东西

最后,来启动Jail


 
 
  1. # /etc/rc.d/jail start 

后续的一些配置

设置Jail的口令及SSH

SSH的配置同理,SSH好后,就和现实中的实体机一样了,想做什么就做什么吧,赶紧!



本文转自dongfang_09859 51CTO博客,原文链接:http://blog.51cto.com/hellosa/537738,如需转载请自行联系原作者

相关文章
|
1月前
|
存储 安全 虚拟化
虚拟化技术:实现资源高效利用和灵活管理的利器
虚拟化技术作为实现资源高效利用和灵活管理的重要手段,在数字化时代背景下,正逐步改变传统IT架构模式。本文概述了虚拟化技术的概念、原理及其在数据中心管理、云计算平台、企业信息化建设、科研教育及医疗行业的应用,并探讨了其面临的挑战与未来发展趋势。
131 3
|
1天前
|
安全 Linux KVM
Linux虚拟化技术:从Xen到KVM
Xen和KVM是Linux平台上两种主要的虚拟化技术,各有优缺点和适用场景。通过对比两者的架构、性能、安全性、管理复杂性和硬件依赖性,可以更好地理解它们的适用场景和选择依据。无论是高性能计算、企业虚拟化还是云计算平台,合理选择和配置虚拟化技术是实现高效、稳定和安全IT环境的关键。
21 8
|
4月前
|
存储 Linux 调度
OpenStack如何支持虚拟化技术?
【8月更文挑战第21天】
266 0
|
2月前
|
存储 分布式计算 分布式数据库
云计算和虚拟化技术
云计算是指把计算资源、存储资源、网络资源、应用软件等集合起来,采用虚拟化技术,将这些资源池化,组成资源共享池,共享池即是“云”。
168 64
|
1月前
|
存储 持续交付 虚拟化
|
3月前
|
KVM 虚拟化
虚拟化技术概述及KVM环境安装
关于虚拟化技术概述及KVM环境安装的教程,涵盖了虚拟化的定义、分类、管理工具,以及KVM的系统需求、安装步骤和使用指南。
95 11
虚拟化技术概述及KVM环境安装
|
4月前
|
存储 运维 虚拟化
Docker技术概论(1):Docker与虚拟化技术比较
Docker技术概论(1):Docker与虚拟化技术比较
193 17
Docker技术概论(1):Docker与虚拟化技术比较
|
4月前
|
Devops 虚拟化 Docker
DevOps 中的标准虚拟化技术
【8月更文挑战第27天】
64 5