<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>行至水穷处，坐看云起时</title>
	<atom:link href="http://skylove.study-area.org/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://skylove.study-area.org/blog</link>
	<description></description>
	<pubDate>Tue, 28 Feb 2012 01:44:42 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<item>
		<title>自动创建计划任务之删除N天以前的备份文件批处理</title>
		<link>http://skylove.study-area.org/blog/2012/02/522.html</link>
		<comments>http://skylove.study-area.org/blog/2012/02/522.html#comments</comments>
		<pubDate>Tue, 28 Feb 2012 01:39:29 +0000</pubDate>
		<dc:creator>天缘(skylove)</dc:creator>
		
		<category><![CDATA[心得分享]]></category>

		<category><![CDATA[log]]></category>

		<category><![CDATA[script]]></category>

		<category><![CDATA[删除]]></category>

		<category><![CDATA[批处理]]></category>

		<category><![CDATA[日志]]></category>

		<category><![CDATA[脚本]]></category>

		<guid isPermaLink="false">http://skylove.study-area.org/blog/?p=522</guid>
		<description><![CDATA[由于建立的每日备份日志需要保留60天，所以文件日积月累会很大。
1.那么有什么方法自动删除60天以前备份的*.log文件呢？
2.服务器过多，不可能一一手动删除，有没有自动完成这个创建计划任务的批处理呢？
首先要解决的是自动删除60天以前备份的log文件，然后创建一个可以自动创建一个每周指定日期指定时间运行一次该自动删除的批处理
一：删除60天以前备份的文件
命令
FORFILES [/P pathname] [/M searchmask] [/S]
[/C command] [/D [+ &#124; -] {yyyy-MM-dd &#124; dd}]
方法1：
描述：可以删除60天以前的后缀名为log的日志文件。如今天是6.29，那么会删除6.22
号以前创建的文件。不会删除到回收站。
指定路径为要删除的文件夹路径，该批处理可以放在任意文件夹下。
forfiles /p D:aizzwLOG /m *.log -d -60 /c "cmd /c del /f @path"
参数解释：
这里的/p 指的是要删除的备份文件路径
/m 指的是要匹配的字符，通配符为*号,后缀名可以根据实际情况修改。
如zzw*.log;*.bak;*.txt
-d 指的是日期，“-d -60”指的是从但前日期当前日期往前减60天。
/c 指的是执行命令
@path 返回文件完整路径
方法2：
描述：可以删除60天以前的后缀名为log的日志文件。
不需要指定路径，必须放在要删除日志的文件下。删除当前文件夹下的匹配文件。
forfiles /m *.log -d -60 /c "cmd /c del /f @path"
以上批处理已经在windows 2003的虚拟机上测试通过
方法3：
为网友提供，可适用于xp，2000，而forfiles默认只有2003以上的系统才有。
::删除F:文件备份里的 60天前的txt文件
::被删除的文件日期以文件创建日期为主
@echo off
::取60天之前的日期.
&#62;deldata_zw.zhu.vbs echo wscript.echo dateadd("d",-60,date)
for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo [...]]]></description>
			<content:encoded><![CDATA[<p>由于建立的每日备份日志需要保留60天，所以文件日积月累会很大。</p>
<p>1.那么有什么方法自动删除60天以前备份的*.log文件呢？<br />
2.服务器过多，不可能一一手动删除，有没有自动完成这个创建计划任务的批处理呢？</p>
<p>首先要解决的是自动删除60天以前备份的log文件，然后创建一个可以自动创建一个每周指定日期指定时间运行一次该自动删除的批处理</p>
<p><strong>一：删除60天以前备份的文件</strong><br />
命令<br />
FORFILES [/P pathname] [/M searchmask] [/S]<br />
[/C command] [/D [+ | -] {yyyy-MM-dd | dd}]</p>
<p><span style="color: #ff0000;">方法1：</span><br />
描述：可以删除60天以前的后缀名为log的日志文件。如今天是6.29，那么会删除6.22<br />
号以前创建的文件。不会删除到回收站。<br />
指定路径为要删除的文件夹路径，该批处理可以放在任意文件夹下。<br />
forfiles /p D:aizzwLOG /m *.log -d -60 /c "cmd /c del /f @path"</p>
<p>参数解释：<br />
这里的/p 指的是要删除的备份文件路径<br />
/m 指的是要匹配的字符，通配符为*号,后缀名可以根据实际情况修改。</p>
<p>如zzw*.log;*.bak;*.txt</p>
<p>-d 指的是日期，“-d -60”指的是从但前日期当前日期往前减60天。<br />
/c 指的是执行命令<br />
@path 返回文件完整路径</p>
<p><span style="color: #ff0000;">方法2：</span><br />
描述：可以删除60天以前的后缀名为log的日志文件。<br />
不需要指定路径，必须放在要删除日志的文件下。删除当前文件夹下的匹配文件。<br />
forfiles /m *.log -d -60 /c "cmd /c del /f @path"<br />
以上批处理已经在windows 2003的虚拟机上测试通过</p>
<p><span style="color: #ff0000;">方法3：</span></p>
<p>为网友提供，可适用于xp，2000，而forfiles默认只有2003以上的系统才有。</p>
<p>::删除F:文件备份里的 60天前的txt文件</p>
<p>::被删除的文件日期以文件创建日期为主<br />
@echo off<br />
::取60天之前的日期.<br />
&gt;deldata_zw.zhu.vbs echo wscript.echo dateadd("d",-60,date)<br />
for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo deldata_zw.zhu.vbs') do (<br />
set y=%%i<br />
set m=%%j<br />
set d=%%k<br />
)<br />
if %m% LSS 10 set m=0%m%<br />
if %d% LSS 10 set d=0%d%<br />
set rq=%y%-%m%-%d%<br />
echo 注意:即将删除 %rq% 以前建立的文件<br />
pause<br />
::判断文件<br />
for /f "skip=4 delims=" %%i in ('dir/tc F:TEST*.log') do call :w "%%i"<br />
del deldata_zw.zhu.vbs<br />
goto :eof<br />
:w<br />
for /f "tokens=4 delims= " %%a in (%1) do set str=%%a<br />
set var=%1<br />
set num=%var:~1,10%<br />
if %num% lss %rq% del /q F:TEST%str%</p>
<p><strong>二：自动创建每周运行一次的计划任务</strong><br />
创建计划任务可用at，schtasks命令，schtasks提供了很多参数<br />
命令schtasks<br />
SCHTASKS /Create [/S system [/U username [/P [password]]]]<br />
[/RU username [/RP password]] /SC schedule [/MO modifier] [/D day]<br />
[/M months] [/I idletime] /TN taskname /TR taskrun [/ST starttime]<br />
[/RI interval] [ {/ET endtime | /DU duration} [/K] ]<br />
[/SD startdate] [/ED enddate] [/IT] [/Z] [/F]</p>
<p><span style="color: #ff0000;">方法：</span><br />
@echo off<br />
schtasks /create /tn "Del-60_log" /ru system /tr D:aizzwdel-60.bat /sc</p>
<p>weekly /d mon /st 01:00<br />
start %systemroot%tasks<br />
echo 创建成功，请检查...<br />
pause<br />
del /f Create.bat</p>
<p>参数解释：<br />
schtasks /create 指的是创建计划任务<br />
/tn 指定计划任务的名称<br />
/ru　指定运行该批处理的账号，如果去掉该参数则默认为当前账户运行，会提示输入密码。</p>
<p>一个计划任务所用的账号如果密码变动后该批处理就不再会运行成功<br />
所以我这里使用系统账号system，密码就省略不写。</p>
<p>/rp 指定账号的密码<br />
/tr 指定程序所在路径，这里为指定要执行的批处理存放路径。<br />
/sc 为指定运行的周期<br />
/d 为日期.这里mon为英文单词缩写，周一<br />
/st 为运行时间<br />
start %systemroot%tasks 这一句只是为了弹出计划任务窗口查看创建成功与否<br />
del /f Create.bat 为创建完成后自动删除创建该计划任务的批处理</p>
<p>schtasks命令详细解释可以参见微软的<br />
<a href="http://technet.microsoft.com/zh-cn/cc772785">http://technet.microsoft.com/zh-cn/cc772785</a>(WS.10).aspx#BKMK_create</p>

	标签：<a href="http://skylove.study-area.org/blog/tag/log" title="log" rel="tag nofollow">log</a>, <a href="http://skylove.study-area.org/blog/tag/script" title="script" rel="tag nofollow">script</a>, <a href="http://skylove.study-area.org/blog/tag/%e5%88%a0%e9%99%a4" title="删除" rel="tag nofollow">删除</a>, <a href="http://skylove.study-area.org/blog/tag/%e6%89%b9%e5%a4%84%e7%90%86" title="批处理" rel="tag nofollow">批处理</a>, <a href="http://skylove.study-area.org/blog/tag/%e6%97%a5%e5%bf%97" title="日志" rel="tag nofollow">日志</a>, <a href="http://skylove.study-area.org/blog/tag/%e8%84%9a%e6%9c%ac" title="脚本" rel="tag nofollow">脚本</a><br />

	<h4>相关日志</h4>
	<ul class="st-related-posts">
	<li><a href="http://skylove.study-area.org/blog/2006/09/116.html" title="我写的一个emule下载完后自动关机的vbs脚本 (2006-09-03)">我写的一个emule下载完后自动关机的vbs脚本</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2007/05/152.html" title="对FireFox的搜索进行了加强和更新 (2007-05-06)">对FireFox的搜索进行了加强和更新</a> (1)</li>
	<li><a href="http://skylove.study-area.org/blog/2007/09/167.html" title="写了一个CU论坛用的FX的GreaseMonkey的帖子自动保存/恢复插件 (2007-09-17)">写了一个CU论坛用的FX的GreaseMonkey的帖子自动保存/恢复插件</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2007/02/141.html" title="利用Trixie精简CU浏览页面 (2007-02-24)">利用Trixie精简CU浏览页面</a> (1)</li>
	<li><a href="http://skylove.study-area.org/blog/2007/03/148.html" title="利用google的个性化主页当自己的门户站点 (2007-03-22)">利用google的个性化主页当自己的门户站点</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2008/12/357.html" title="关于Sql Server 2005的日志删除 (2008-12-11)">关于Sql Server 2005的日志删除</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2011/05/500.html" title="SecureCRT中不同窗口顺序执行命令的脚本 (2011-05-17)">SecureCRT中不同窗口顺序执行命令的脚本</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2008/04/254.html" title="pure-ftp 使用puredb建立虚拟账户服务器 (2008-04-07)">pure-ftp 使用puredb建立虚拟账户服务器</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2006/12/130.html" title="ie7在xp sp2 下的安装与安全运行 (2006-12-16)">ie7在xp sp2 下的安装与安全运行</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2007/03/149.html" title="Gmail高级搜索 (2007-03-26)">Gmail高级搜索</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://skylove.study-area.org/blog/2012/02/522.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>SecureCRT同时向多个session发送相同命令的方法</title>
		<link>http://skylove.study-area.org/blog/2011/10/521.html</link>
		<comments>http://skylove.study-area.org/blog/2011/10/521.html#comments</comments>
		<pubDate>Sat, 08 Oct 2011 03:47:29 +0000</pubDate>
		<dc:creator>天缘(skylove)</dc:creator>
		
		<category><![CDATA[艺海无涯]]></category>

		<category><![CDATA[SecureCRT]]></category>

		<category><![CDATA[ssh]]></category>

		<category><![CDATA[命令]]></category>

		<guid isPermaLink="false">http://skylove.study-area.org/blog/?p=521</guid>
		<description><![CDATA[转载：http://apps.hi.baidu.com/share/detail/12714587
对于要管理多台服务器的SA或DBA来说, 如果要在所有服务器上操作同样的命令, 一台台登陆操作是个很笨的方法. 一直以为SecureCRT没有这个功能, 曾经转向使用有该功能的Xshell软件, 但是Xshell又没有横向滚动条, 让人不爽, 所以就好好研究了一下SecureCRT, 原来是可以的.
1. 首先在SecureCRT里同时打开多个session
2. 从菜单栏选上 View - Chat Windows
3. 在Chat Windows右键鼠标, 选上Send Chat to All Tabs, 这样Chat Windows里会有"&#60;Send chat to all tabs&#62;"的标志
4. 在Chat Windows输入命令如ls, 然后回车, 则当前打开的所有Session都会执行ls命令
5. 如果要同时执行多个命令如ls和pwd, 在Chat Windows先输入ls后按Ctrl+Enter, 再输入pwd, 最后回车, 则当前打开的所有Session都会执行ls和pwd命令
6. 如果要取消该功能, 则在Chat Windows右键鼠标, 不要选上Send Chat to All Tabs即可
refer: http://www.vandyke.com/support/automation/chatsendcom.html


	标签：SecureCRT, ssh, 命令

	相关日志
	
	SecureCRT中不同窗口顺序执行命令的脚本 (0)
	Win7 的70个使用技巧 (0)
	ssh连接慢的解决方法 (0)
	ssh登录无需输入密码的做法 (0)


]]></description>
			<content:encoded><![CDATA[<p><span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="text-align: left; line-height: 26px; font-family: Arial; color: #333333; font-size: 14px;">转载：<span style="color: #336699;"><a href="http://apps.hi.baidu.com/share/detail/12714587">http://apps.hi.baidu.com/share/detail/12714587</a></span></p>
<p>对于要管理多台服务器的SA或DBA来说, 如果要在所有服务器上操作同样的命令, 一台台登陆操作是个很笨的方法. 一直以为SecureCRT没有这个功能, 曾经转向使用有该功能的Xshell软件, 但是Xshell又没有横向滚动条, 让人不爽, 所以就好好研究了一下SecureCRT, 原来是可以的.</p>
<p>1. 首先在SecureCRT里同时打开多个session</p>
<p>2. 从菜单栏选上 View - Chat Windows</p>
<p>3. 在Chat Windows右键鼠标, 选上Send Chat to All Tabs, 这样Chat Windows里会有"&lt;Send chat to all tabs&gt;"的标志</p>
<p>4. 在Chat Windows输入命令如ls, 然后回车, 则当前打开的所有Session都会执行ls命令</p>
<p>5. 如果要同时执行多个命令如ls和pwd, 在Chat Windows先输入ls后按Ctrl+Enter, 再输入pwd, 最后回车, 则当前打开的所有Session都会执行ls和pwd命令</p>
<p>6. 如果要取消该功能, 则在Chat Windows右键鼠标, 不要选上Send Chat to All Tabs即可</p>
<p>refer:<span class="Apple-converted-space"> </span><span style="color: #1463c4;"><a href="http://www.vandyke.com/support/automation/chatsendcom.html">http://www.vandyke.com/support/automation/chatsendcom.html</a></span></p>
<p></span></span></p>

	标签：<a href="http://skylove.study-area.org/blog/tag/securecrt" title="SecureCRT" rel="tag nofollow">SecureCRT</a>, <a href="http://skylove.study-area.org/blog/tag/ssh" title="ssh" rel="tag nofollow">ssh</a>, <a href="http://skylove.study-area.org/blog/tag/%e5%91%bd%e4%bb%a4" title="命令" rel="tag nofollow">命令</a><br />

	<h4>相关日志</h4>
	<ul class="st-related-posts">
	<li><a href="http://skylove.study-area.org/blog/2011/05/500.html" title="SecureCRT中不同窗口顺序执行命令的脚本 (2011-05-17)">SecureCRT中不同窗口顺序执行命令的脚本</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2009/11/458.html" title="Win7 的70个使用技巧 (2009-11-12)">Win7 的70个使用技巧</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2011/05/501.html" title="ssh连接慢的解决方法 (2011-05-17)">ssh连接慢的解决方法</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2011/06/506.html" title="ssh登录无需输入密码的做法 (2011-06-01)">ssh登录无需输入密码的做法</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://skylove.study-area.org/blog/2011/10/521.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>cacti常见问题解决办法【转载】</title>
		<link>http://skylove.study-area.org/blog/2011/09/519.html</link>
		<comments>http://skylove.study-area.org/blog/2011/09/519.html#comments</comments>
		<pubDate>Fri, 30 Sep 2011 08:12:53 +0000</pubDate>
		<dc:creator>天缘(skylove)</dc:creator>
		
		<category><![CDATA[艺海无涯]]></category>

		<category><![CDATA[cacti]]></category>

		<category><![CDATA[问题]]></category>

		<guid isPermaLink="false">http://skylove.study-area.org/blog/?p=519</guid>
		<description><![CDATA[本文转载自 http://hi.baidu.com/arongdy/blog/item/976582af9ce866c47cd92af6.html
cacti登录密码忘记解决方法
如果是admin 的密码丢失，id = 1；其他用户以此类推。
进入mysql
mysql&#62; show databases;
mysql&#62; use cacti;
mysql&#62; show tables;
mysql&#62; update user_auth set password=md5("newpassword") where id='1';
新的cacti密码就是newpassword了~~
 
以前自己曾经解决的，当时自己记住了，过了好长时间，重新在新的机器上安装cacti的时候，却忘记提前修改，导致一些不必要的麻烦。
帖出来希望对自己或者对大家有帮助
1、一般说来，图片的流量统计描述都是 &#124;host_description&#124; - Traffic - &#124;query_ifName&#124; 按照这个形式来描述的，对于华为的设备，Gi显示成GigabitEthernet，可能导致后面的模块号，端口好无法显示。如 GigabitEthernet4/3/2显示成GigabitEthernet,
解决办法：
Console -&#62; Settings -&#62; Visual -&#62; Maximum Field Length: 默认 15,我修改成30就OK了。
The maximum number of characters to display for a data query field.
 

2、对于Traffic 大于800Mbits/s的无法显示问题：

在创建graph前修改 Data Templates -&#62; Interface Traffic -&#62; 1: traffic_in -&#62; [...]]]></description>
			<content:encoded><![CDATA[<p><strong>本文转载自 <a href="http://hi.baidu.com/arongdy/blog/item/976582af9ce866c47cd92af6.html">http://hi.baidu.com/arongdy/blog/item/976582af9ce866c47cd92af6.html</a></strong></p>
<p><strong>cacti登录密码忘记解决方法</strong></p>
<p>如果是admin 的密码丢失，id = 1；其他用户以此类推。</p>
<p>进入mysql<br />
mysql&gt; show databases;<br />
mysql&gt; use cacti;<br />
mysql&gt; show tables;<br />
mysql&gt; update user_auth set password=md5("newpassword") where id='1';</p>
<p>新的cacti密码就是newpassword了~~</p>
<p> </p>
<p>以前自己曾经解决的，当时自己记住了，过了好长时间，重新在新的机器上安装cacti的时候，却忘记提前修改，导致一些不必要的麻烦。</p>
<p>帖出来希望对自己或者对大家有帮助<span id="more-519"></span></p>
<p><span style="color: #ff0000;">1、一般说来，图片的流量统计描述都是 |host_description| - Traffic - |<a name="baidusnap0">query_ifName| 按照这个形式来描述的，对于华为的设备，Gi显示成GigabitEthernet，可能导致后面的模块号，端口好无法显示。如 GigabitEthernet4/3/2显示成GigabitEthernet,</a></span></p>
<p>解决办法：</p>
<p>Console -&gt; Settings -&gt; Visual <span class="textEditTitle">-&gt; Maximum Field Length: 默认 15,我修改成30就OK了。</span></p>
<p>The maximum number of characters to display for a data query field.</p>
<p> </p>
<div class="postmessage defaultpost">
<div><span style="color: #ff0000;">2、对于Traffic 大于800Mbits/s的无法显示问题：</span></div>
</div>
<p>在创建graph前修改 Data Templates -&gt; Interface Traffic -&gt; 1: traffic_in -&gt; <span class="textEditTitle">Maximum Value</span> Use Per-Data Source Value 默认是100000000 后面再添 几个0就OK了，同样 2: traffic_out也要修改哦,最好在使用new graph创建新的graph之前修改后，否则之后修改会有一定的麻烦，甚至无法正常工作。</p>
<p><span style="color: #ff0000;">3、以前都是直接下载tar.gz源代码包安装的，按照readme就可以搞定一切。目前在FC4下可以直接通过yum instal cacti就安装完成，安装后却不知道怎么使用，也不知道安装到什么地方了，怎么让cacti工作。</span></p>
<p>首先了解rpm包安装了那些有用的文件：</p>
<p>rpm程序把cacit的php文件放到/usr/share/cacti目录下。</p>
<p>在/etc/httpd/conf.d/cacit.conf</p>
<p>==============================</p>
<p>#</p>
<p># Cacti: An rrd based graphing tool</p>
<p>#</p>
<p>Alias /cacti    /usr/share/cacti</p>
<p>&lt;Directory /usr/share/cacti/&gt;</p>
<p>        Order Deny,Allow</p>
<p>        Deny from all</p>
<p>        Allow from 127.0.0.1</p>
<p>&lt;/Directory&gt;</p>
<p>==============================</p>
<p>在apache的配置里面只允许localhost访问/cacti这个虚拟目录。</p>
<p>[root@elm ~]# cd /etc/cron.d</p>
<p>[root@elm cron.d]# more cacti</p>
<p>*/5 * * * *     cacti   /usr/bin/php /usr/share/cacti/poller.php &gt; /dev/null 2&gt;&amp;1</p>
<p>[root@elm cron.d]#</p>
<p>定期执行程序的cron配置。</p>
<p>下面介绍如何让cacti工作：</p>
<p>首先，配置数据库：</p>
<p>[root@elm local]# cd /usr/share/doc/cacti-0.8.6h/</p>
<p>[root@elm cacti-0.8.6h]# ls</p>
<p>cacti.sql docs LICENSE README</p>
<p>[root@elm cacti-0.8.6h]# mysql</p>
<p>Welcome to the MySQL monitor. Commands end with ; or g.</p>
<p>Your MySQL connection id is 312 to server version: 4.1.16</p>
<p>Type 'help;' or 'h' for help. Type 'c' to clear the buffer.</p>
<p>mysql&gt; create database cacti_test;</p>
<p>Query OK, 1 row affected (0.12 sec)</p>
<p>mysql&gt; q</p>
<p>Bye</p>
<p>[root@elm cacti-0.8.6h]# mysql cacti_test &lt; cacti.sql</p>
<p>修改cacit的配置文件：</p>
<p>[root@elm cacti-0.8.6h]# cd /usr/share/cacti/include/</p>
<p>[root@elm include]# cat db.php</p>
<p>&lt;?</p>
<p>/* make sure these values refect your actual database/host/user/password */</p>
<p>$database_type = "mysql";</p>
<p>$database_default = "cacti_test";</p>
<p>$database_hostname = "localhost";</p>
<p>$database_username = "cactiuser";</p>
<p>$database_password = "cactipass";</p>
<p>$database_port = "3306";</p>
<p>?&gt;</p>
<p>根据自己的需求修改。</p>
<p>OK，打开Firefox在地址栏输入: <a href="http://localhost/cacti">http://localhost/cacti</a>进行配置。</p>
<p>默认用户名密码：admin:admin</p>
<p><span style="color: #ff0000;">5、如果在配置完毕后可以生成rrd文件，且里面有数据，但是在浏览器上无法看到png图片。现查看apache的log</span></p>
<p>如果出现：</p>
<p>========================</p>
<p>[Thu Feb 09 15:12:24 2006] [error] [client 127.0.0.1] File does not exist: /var/www/html/favicon.ico</p>
<p>ERROR: opening '/usr/share/cacti/rra/localhost_mem_buffers_3.rrd': Permission denied</p>
<p>ERROR: opening '/usr/share/cacti/rra/localhost_mem_buffers_3.rrd': Permission denied</p>
<p>ERROR: opening '/usr/share/cacti/rra/localhost_mem_buffers_3.rrd': Permission denied</p>
<p>ERROR: opening '/usr/share/cacti/rra/localhost_mem_buffers_3.rrd': Permission denied</p>
<p>ERROR: opening '/usr/share/cacti/rra/localhost_mem_buffers_3.rrd': Permission denied</p>
<p>ERROR: opening '/usr/share/cacti/rra/localhost_mem_buffers_3.rrd': Permission denied</p>
<p>ERROR: opening '/usr/share/cacti/rra/localhost_mem_buffers_3.rrd': Permission denied</p>
<p>ERROR: opening '/usr/share/cacti/rra/localhost_mem_buffers_3.rrd': Permission denied</p>
<p>=======================</p>
<p>[root@elm ~]# cd /usr/share/cacti/rra</p>
<p>[root@elm rra]# ls -lat</p>
<p>总用量 572</p>
<p>-rw-r--r-- 1 cacti cacti 141484 2月 9 19:15 localhost_load_1min_5.rrd</p>
<p>-rw-r--r-- 1 cacti cacti 47836 2月 9 19:15 localhost_mem_buffers_3.rrd</p>
<p>-rw-r--r-- 1 cacti cacti 47836 2月 9 19:15 localhost_mem_swap_4.rrd</p>
<p>-rw-r--r-- 1 cacti cacti 47836 2月 9 19:15 localhost_proc_7.rrd</p>
<p>-rw-r--r-- 1 cacti cacti 47836 2月 9 19:15 localhost_users_6.rrd</p>
<p>-rw-r--r-- 1 cacti cacti 94660 2月 9 19:15 tplink_input_13.rrd</p>
<p>-rw-r--r-- 1 cacti cacti 94660 2月 9 19:15 tplink_input_16.rrd</p>
<p>drwxr-xr-x 2 cacti root    4096 2月 9 18:35 .</p>
<p>drwxr-xr-x 4 root root    4096 2月 9 14:30 ..</p>
<p>[root@elm rra]#</p>
<p>Other也有R权限，那么请把机器的SElinux关闭，目前我不知道其他办法。</p>
<p>[root@elm rra]# cd /etc/selinux/</p>
<p>[root@elm selinux]# more config</p>
<p># This file controls the state of SELinux on the system.</p>
<p># SELINUX= can take one of these three values:</p>
<p>#       enforcing - SELinux security policy is enforced.</p>
<p>#       permissive - SELinux prints warnings instead of enforcing.</p>
<p>#       disabled - SELinux is fully disabled.</p>
<p><span style="color: #ff0102;">SELINUX=disabled</span></p>
<p># SELINUXTYPE= type of policy in use. Possible values are:</p>
<p>#       targeted - Only targeted network daemons are protected.</p>
<p>#       strict - Full SELinux protection.</p>
<p>SELINUXTYPE=targeted</p>
<p>[root@elm selinux]#</p>
<p>注意红色部分，重新启动机器后就OK了。</p>
<p><span style="color: #ff0000;">6、我只想显示整数怎么办？</span></p>
<p>修改Graph Templates下的Graph Template Items的GPRINT Type，改成Exact Number</p>
<p><span style="color: #ff0000;">7、我原来使用的是rrdtool-1.0.x 升级到 1.2.x 后部分图像无法显示(Zoom)</span></p>
<p>修改Configuration -&gt; Settings -&gt; RRDTool Utility Version -&gt; 1.2.x</p>
<p> </p>
<p> </p>
<p align="center"><span style="font-size: small;"><strong>个人总结cacti有图无数据解决办法</strong></span></p>
<p>1，查看log下的日志文件。一般那里会有提示</p>
<p>2，测试SNMP是不是工作正常 <span style="font-size: 13px;">snmpwalk -c community -v 2c hostIP if正常的话会出现一些数据。不正常会出现一些错误，也会有对应的错误提示。</span></p>
<p><span style="font-size: 13px;">3，自动运行poller.php没有。有没有加入cacti的的用户。。有没有给cacti用户写入rra/ log/的权限。对应的命令为：pw useradd cactiuser –d /www/htdocs/cacti（具体路径具体对待）命令作用。为cactiuser这个用户加上cacti这个文件夹的权限 cd /www/htdocs/cacti    chown -R cactiuser rra/ log/ cactiuser加到/rra /log的写权限。</span></p>
<p><span style="font-size: 13px;">4，crontab –u cactiuser –e 为cactiuser加上自动运行poller.php的任务：</span></p>
<p><span style="font-size: 13px;">*/1     *       *       *       *       root    /usr/local/bin/php /usr/local/share/cacti/poller.php /dev/null 2&gt;&amp;1</span></p>
<p><span style="font-size: 13px;">1分钟刷新一次数据。你也可以根据需要还设置。</span></p>
<p><span style="font-size: 13px;">5。把cacti目录里的cmd.php和poller.php文件加下运行的权限。</span></p>
<p><span style="font-size: 13px;"><br />
</span></p>
<p align="center"><span style="font-size: 13px;"><span style="font-size: small;"><strong>测试办法：</strong></span></span></p>
<p><span style="font-size: 13px;"><strong>zyangj</strong></span></p>
<div class="subtable altbg2 t_msg" style="width: auto; height: auto;">
<p><strong>cacti 中的数据源里面没有内容啊？求远程协助</strong></p>
<p>1、我现在可以看到一些界面了，但是为什么不能加载RRA文件啊？<br />
我执行 <span style="color: #ff0000;">rrdtool fetch localhost_mem_swap_4.rrd AVERAGE</span> 可以看到有内容</p>
<p>2、#<span style="color: #ff0000;"> snmpget -v 2c -c public 192.168.1.4 .1.3.6.1.4.1.2021.11.52.0</span></p>
<p>3、# <span style="color: #ff0000;">/usr/bin/php /www/htdocs/cacti/poller.php</span></p>
<p><strong>zyangj</strong></p>
<div class="subtable altbg2 t_msg" style="width: auto; height: auto;">我终于找到原因了，我仅然装的是MYSQL5,同志们啊，这个戏CACTI不支持5啊，要记住了，搞了我半个月问题，其实就是自己的问题，多注意了，结稿了。多谢各位大侠指导，在此谢谢了！</div>
<p><span style="font-size: 13px;"><strong>coolzsb</strong></span></p>
<div class="subtable altbg2 t_msg" style="width: auto; height: auto;"><strong><span style="font-size: small;">                                                         cacti的排错经验<br />
</span></strong><br />
<span style="color: #ff0000;">cacti出不了数据，一般从以下几个方面入手解决问题</span></div>
<p>1。确认你的cacti主机上能否得到目标机器上的snmp数据<br />
cacti得到目标机器上的统计数据分为两种方法，一种是远程通过snmp协议获取、一种是本地机器通过shell脚本获取。</p>
<p>2。确认你的crontab计划任务有在正常运作<br />
cacti是通过crontab的定时作业每隔一段时间获取数据的，如果定时作业没有运作，肯定也是读取不到数据的</p>
<p>3。确认你的crontab定时作业所执行的作业能获取信息<br />
cacti获取信息用的是poller.php定时运作，然后根据你设置的是用php脚本来执行snmp获取还是cactid来获取，所以，你必须确认你的php能支持php的snmp扩展、或者确认你有正确设置cactid。推荐使用cactid，效率比通过php高10~20倍。</p>
<p>4。确认你的rrdtool的版本<br />
rrdtool1.0.x版本和1.2.x版本有着比较大的差别，在cacti里面要正确设置你的rrdtool的版本。比较容易出现的错误就是你的rrdtool是1.2.x版本，而cacti默认的rrdtool版本为1.0.x版本，如果是这样的话，你的数据收集是正常的，不过由于rrdtool的版本变化导致的命令处理格式的一点差别，cacti的缩微图会画不出来的，而具体的图片时可以画出来，这个，大家要留神一下。</p>
<p>5。当然了，要保证cacti收集的数据能被储藏在你的机器上，要保证收集的数据能被httpd服务读取</p>
<p>以上是我个人对cacti的trouble shooting的一些认识，请各位补充指正。</p></div>
<p> </p>
<div class="subtable altbg2 t_msg" style="width: auto; height: auto;">
<p> </p>
<p>　　将cacti安装好按例子进行配置，想到得到第一个hellow world这样的例子时，常常也会遇到不少的问题，最可能的就是无图，或者有图无数据。<br />
　　先说无图吧，主要是检查先确定你的IP地址、snmp comunite、snmp version等信息配置没有错误，如果都没有错误，那么你确定才一个采集周期（一般默认采集周期300秒）以后去检查rra目录，看是否有相应的rra文件生成，如果是新安装，本来rra目录只有一个.placeholder文件。你只要关注以rra为文件后缀的文件即可。如果没有那么一是rra文件权限，windows是ntfs和linux等下有这个问题，其它就检查snmp的设置。</p>
<h1 class="ContentTitle"><strong><span style="font-size: small;">解决cacti中无图或无数据的问题</span></strong></h1>
<div class="UBBPanel codePanel">
<div class="UBBContent"><span style="color: #ff0000;">snmpwalk -v 2c -c public yourIP if</span></div>
</div>
<p>　　如果有数据返回，则snmp的数据没有问题。如果出现“Timeout: No Response from ...”之类的错误信息则是snmp设置的问题。</p>
<p>　　再说有图无数据吧，一般这样的情况就是snmp采集的结果有问题。这种情况下，一般也会出现新建的device的Data Query里面的状态总是“ Success [0 Items, 0 Rows]”。通过执行snmp命令来检查：</p>
<div class="UBBPanel codePanel">
<div class="UBBContent"><span style="color: #ff0000;">snmpwalk -c community -v 2c hostIP if</span></div>
</div>
<p>　　通过结果可以看到是否允许cacti取这些OID的数据。<br />
eg：</p>
<div class="UBBPanel codePanel">
<div class="UBBContent">
<p><span style="color: #ff0000;">snmpwalk -c public -v1 192.168.0.221 .1.3.6.1.2.1.2.2.1.16.2</span></p>
<p> </p>
<div class="postmessage defaultpost">
<h2>当cacti 有图没有数据时，而且状态为nan错误解决办法</h2>
<div class="t_msgfont">
<p>解决办法：</p>
<p>   1.<br />
[root@codfei rra]# pwd<br />
/usr/local/apache2/htdocs/cacti/rra<br />
[root@codfei rra]# rrdtool fetch fxd-mdl11_traffic_in_365.rrd AVERAGE<br />
按照以上命令执行如果结果输出为：<br />
1197990600:   nan   nan<br />
1197990900:   nan   nan<br />
1197991200:   nan   nan<br />
1197991500:   nan   nan<br />
1197991800:   nan   nan<br />
1197992100:   nan   nan</p>
<p>则表示snmp获取<span class="t_tag">数据</span>有问题，经过仔细检查发现不能获取流量的主机都是64位系统，<br />
用以下命令检查：<br />
[root@codfei rra]# snmpwalk -c public -v 2c 192.168.1.2 IF-MIB::ifHCInOctets<br />
输出内容如下，表明不支持64位MIB库，终于找到原因了。<br />
IF-MIB::ifHCInOctets = No Such Object available on this agent at this OID</p>
<p>2，需要重新安装snmpd支持64位MIB库,不过正常用源码包安装时在make的时候会出现error,无法继续，<br />
解决方法：<br />
在源码包下config后，先不要make，请先修改以下两个文件。</p>
<p>[root@codfei net-snmp-5.3.1]# vi apps/Makefile<br />
TRAPDWITHAGENT   = $(USETRAPLIBS) -ldl -lrpm -lrpmio -lpopt   -lz -lcrypto -lm<br />
替换成：<br />
TRAPDWITHAGENT   = $(USETRAPLIBS) -ldl -lrpm -lrpmio /usr/lib64/libpopt.so   -lz -lcrypto -lm</p>
<p>[root@codfei net-snmp-5.3.1]# vi agent/Makefile<br />
LIBS          = ../snmplib/libnetsnmp.$(LIB_EXTENSION)$(LIB_VERSION) -ldl -lrpm -lrpmio -lpopt   -lz -lcrypto -lm   $(PERLLDOPTS)<br />
替换成：<br />
LIBS          = ../snmplib/libnetsnmp.$(LIB_EXTENSION)$(LIB_VERSION) -ldl -lrpm -lrpmio /usr/lib64/libpopt.so   -lz -lcrypto -lm<br />
然后在进行make &amp;&amp; make install</p>
<p>3,停止当前linux自带的snmpd,通过daemoonls启动新安装的snmpd就能了。<br />
   这时在用snmpwalk检测，支持64位MIB库了，过一会流量监视的图片也出来了！<br />
[root@codfei rra]# snmpwalk -c public -v 2c 192.168.1.2 IF-MIB::ifHCInOctets<br />
IF-MIB::ifHCInOctets.1 = Counter64: 2400309170<br />
IF-MIB::ifHCInOctets.2 = Counter64: 256326257624<br />
IF-MIB::ifHCInOctets.3 = Counter64: 0<br />
IF-MIB::ifHCInOctets.4 = Counter64: 624808037429<br />
IF-MIB::ifHCInOctets.5 = Counter64: 0<br />
IF-MIB::ifHCInOctets.6 = Counter64: 0<br />
IF-MIB::ifHCInOctets.7 = Counter64: 0<br />
IF-MIB::ifHCInOctets.8 = Counter64: 0</p>
<p>   <span style="color: #a23d3d;"><strong>Cacti监控远程服务器问题解决</strong></span></p>
<p>使用模板ucd/net - Memory Usage，检测局域网内别的机器发现有图，但是无数据，都是nan,<br />
cacti log有如下错误<br />
04/22/2009 02:10:08 AM - CMDPHP: Poller[0] Host[7] DS[44] WARNING: Result from SNMP not valid.   Partial Result: U<br />
04/22/2009 02:10:08 AM - CMDPHP: Poller[0] Host[7] DS[43] WARNING: Result from SNMP not valid.   Partial Result: U<br />
04/22/2009 02:10:08 AM - CMDPHP: Poller[0] Host[7] DS[42] WARNING: Result from SNMP not valid.   Partial Result: U<br />
04/22/2009 02:10:08 AM - CMDPHP: Poller[0] Host[7] DS[41] WARNING: Result from SNMP not valid.   Partial Result: U<br />
04/22/2009 02:10:08 AM - CMDPHP: Poller[0] Host[7] DS[40] WARNING: Result from SNMP not valid.   Partial Result: U<br />
04/22/2009 02:10:08 AM - CMDPHP: Poller[0] Host[7] DS[39] WARNING: Result from SNMP not valid.   Partial Result: U</p>
<p>于是<br />
wget <a href="ftp://mirror.switch.ch/pool/1/mirror/scientificlinux/5rolling/i386/SL/net-snmp-utils-5.3.1-24.el5_2.1.i386.rpm">ftp://mirror.switch.ch/pool/1/mirror/scientificlinux/5rolling/i386/SL/net-snmp-utils-5.3.1-24.el5_2.1.i386.rpm</a><br />
安装获得snmpget snmpwalk snmpbulkwakl snmpgetnext</p>
<p>snmpwalk -v 2c -c public your_remote_ip if<br />
错误：<br />
Timeout: No Response from your_remote_ip</p>
<p>于是修改snmpd配置 并启动snmpd<br />
com2sec notConfigUser   default   public---&gt;com2sec notConfigUser   your_snmpd_server_ip public<br />
#view all     included   .1   80----&gt;view all     included   .1   80</p>
<p>snmpwalk -v 2c -c public your_remote_ip system ok<br />
但<br />
snmpwalk -v 2c -c public your_remote_ip if<br />
错误：<br />
IF-MIB::ifTable = No Such Object available on this agent at this OID</p>
<p>于是再次修改snmpd.conf,并重启snmpd<br />
access   notConfigGroup ""       any       noauth     exact   systemview none none--&gt;<br />
access   notConfigGroup ""       any       noauth     exact   all     none none</p>
<p>再次snmpwalk -v 2c -c public your_remote_ip if<br />
ok</p>
<p>再访问页面终于图和数据出来了</p></div>
</div>
</div>
</div>
</div>

	标签：<a href="http://skylove.study-area.org/blog/tag/cacti" title="cacti" rel="tag nofollow">cacti</a>, <a href="http://skylove.study-area.org/blog/tag/%e9%97%ae%e9%a2%98" title="问题" rel="tag nofollow">问题</a><br />

	<h4>相关日志</h4>
	<ul class="st-related-posts">
	<li><a href="http://skylove.study-area.org/blog/2010/08/480.html" title="Cacti监控H3C注意的问题 (2010-08-27)">Cacti监控H3C注意的问题</a> (1)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://skylove.study-area.org/blog/2011/09/519.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>一位IT同行的日志</title>
		<link>http://skylove.study-area.org/blog/2011/09/518.html</link>
		<comments>http://skylove.study-area.org/blog/2011/09/518.html#comments</comments>
		<pubDate>Thu, 22 Sep 2011 02:19:21 +0000</pubDate>
		<dc:creator>天缘(skylove)</dc:creator>
		
		<category><![CDATA[艺海无涯]]></category>

		<category><![CDATA[it]]></category>

		<category><![CDATA[netkiller]]></category>

		<guid isPermaLink="false">http://skylove.study-area.org/blog/?p=518</guid>
		<description><![CDATA[地址在 http://netkiller.github.com/ ，是许多年前在cu上认识的netkiller 的主页，里面有一些不错的内容，与大家分享。

	标签：it, netkiller

	相关日志
	
	无相关日志
	

]]></description>
			<content:encoded><![CDATA[<p>地址在 <a href="http://netkiller.github.com/">http://netkiller.github.com/</a> ，是许多年前在cu上认识的netkiller 的主页，里面有一些不错的内容，与大家分享。</p>

	标签：<a href="http://skylove.study-area.org/blog/tag/it" title="it" rel="tag nofollow">it</a>, <a href="http://skylove.study-area.org/blog/tag/netkiller" title="netkiller" rel="tag nofollow">netkiller</a><br />

	<h4>相关日志</h4>
	<ul class="st-related-posts">
	<li>无相关日志</li>
	</ul>

]]></content:encoded>
			<wfw:commentRss>http://skylove.study-area.org/blog/2011/09/518.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>办公网常见的安全问题及华为交换机上的配置说明</title>
		<link>http://skylove.study-area.org/blog/2011/06/517.html</link>
		<comments>http://skylove.study-area.org/blog/2011/06/517.html#comments</comments>
		<pubDate>Sun, 12 Jun 2011 07:36:15 +0000</pubDate>
		<dc:creator>天缘(skylove)</dc:creator>
		
		<category><![CDATA[艺海无涯]]></category>

		<category><![CDATA[DHCP]]></category>

		<category><![CDATA[交换机]]></category>

		<category><![CDATA[华为]]></category>

		<category><![CDATA[安全]]></category>

		<guid isPermaLink="false">http://skylove.study-area.org/blog/?p=517</guid>
		<description><![CDATA[转自 http://blog.sina.com.cn/s/blog_5374d6e30100smmp.html 李晓红的新浪博客
常见办公网安全问题：
1、arp欺骗
2、耗尽dhcp server的IP池
3、私设dhcp server
4、私设IP地址，绕过dhcp server的IP分配策略
5、产生大量dhcp分配请求，使dhcp server无法响应导致拒绝服务攻击
6、产生大量arp请求，使目标无法响应正常的arp请求导致的拒绝服务攻击
7、产生其它大量的服务请求包，如icmp，导致目标cpu过高，无法处理别的请求等
8、在本来接办公电脑的端口上，私接交换机
每个厂家的交换机都有一定的防护措施，但是不一定能堵住所有漏洞。另外，既便针对同一个安全问题，厂家的措施不一定能全部能堵住。
最好是交换机跟dhcp服务配合在一起，来防止arp欺骗、私设IP等，原理是交换机监听dhcp请求与响应的包，在内部建立一张端口、MAC地址与IP的表，这样在某个端口收到arp请求或响应包，就可以判断是不否是arp欺骗了，另外也可以在端口上收到IP包时，看它的源地址是否与内部登记中的一致，如果不一致，就属于私设IP，直接丢弃，这样也就达到了避免私设IP的效果了。
下面是针对华为的S2352和S3328的文档整理的安全配置方法，请参考。
作用：限制icmp包的数量，减少对CPU的占用，防止大量ICMP包攻击
适用：3层交换机，避免网关IP被大量ICMP包攻击
icmp rate-limit total threshold 50
作用：避免下连的设备伪造大量MAC地址过来，产生的危害，如大量进行dhcp请求而用光dhcp server的可用IP，从而导致正常用户无法获得IP；可以用来避免端口下连交换机，只允许连服务器，方法是限制动态学到的mac地址条目数为1
适用：适用于接入或3层交换机，一般配置在接入交换机上
mac-address restrict  (起用mac地址限制功能)
interface Ethernet0/0/1  (针对指定的接口配置，如下连用户设备的接口一般都要配)
mac-table limit 3 (限制动态学到的mac地址条目数为3)
port-security enable (起用指定端口的安全功能)
作用：避免各种针对dhcp动态分配IP服务的攻击，arp欺骗
适用：接入和3层交换机，一般配置在接入交换机上
dhcp snooping enable (全局起用dpch探测功能)
dhcp snooping arp security enable (防止arp欺骗)
vlan 1  (每个vlan都需要配，如果需要加固的话)
dhcp snooping enable  (起用指定vlan的探测功能)
dhcp snooping check arp enable (检查arp请求和应答，防止arp欺骗)
dhcp snooping check ip enable (检查所有IP包，避免用户绕过dhcp，私设IP)
dhcp snooping check dhcp-rate enable (限制1秒内可能的dhcp请求数，避免攻击dhcp 服务器)
dhcp snooping trusted interface Ethernet0/0/48 (避免私设dhcp server，只有trusted接口中能收到dhcp [...]]]></description>
			<content:encoded><![CDATA[<p>转自 <a href="http://blog.sina.com.cn/s/blog_5374d6e30100smmp.html">http://blog.sina.com.cn/s/blog_5374d6e30100smmp.html</a> 李晓红的新浪博客</p>
<p>常见办公网安全问题：<br />
1、arp欺骗<br />
2、耗尽dhcp server的IP池<br />
3、私设dhcp server<br />
4、私设IP地址，绕过dhcp server的IP分配策略<br />
5、产生大量dhcp分配请求，使dhcp server无法响应导致拒绝服务攻击<br />
6、产生大量arp请求，使目标无法响应正常的arp请求导致的拒绝服务攻击<br />
7、产生其它大量的服务请求包，如icmp，导致目标cpu过高，无法处理别的请求等<br />
8、在本来接办公电脑的端口上，私接交换机</p>
<p>每个厂家的交换机都有一定的防护措施，但是不一定能堵住所有漏洞。另外，既便针对同一个安全问题，厂家的措施不一定能全部能堵住。</p>
<p>最好是交换机跟dhcp服务配合在一起，来防止arp欺骗、私设IP等，原理是交换机监听dhcp请求与响应的包，在内部建立一张端口、MAC地址与IP的表，这样在某个端口收到arp请求或响应包，就可以判断是不否是arp欺骗了，另外也可以在端口上收到IP包时，看它的源地址是否与内部登记中的一致，如果不一致，就属于私设IP，直接丢弃，这样也就达到了避免私设IP的效果了。</p>
<p>下面是针对华为的S2352和S3328的文档整理的安全配置方法，请参考。</p>
<p>作用：限制icmp包的数量，减少对CPU的占用，防止大量ICMP包攻击<br />
适用：3层交换机，避免网关IP被大量ICMP包攻击<br />
icmp rate-limit total threshold 50</p>
<p>作用：避免下连的设备伪造大量MAC地址过来，产生的危害，如大量进行dhcp请求而用光dhcp server的可用IP，从而导致正常用户无法获得IP；可以用来避免端口下连交换机，只允许连服务器，方法是限制动态学到的mac地址条目数为1<br />
适用：适用于接入或3层交换机，一般配置在接入交换机上<br />
mac-address restrict  (起用mac地址限制功能)<br />
interface Ethernet0/0/1  (针对指定的接口配置，如下连用户设备的接口一般都要配)<br />
mac-table limit 3 (限制动态学到的mac地址条目数为3)<br />
port-security enable (起用指定端口的安全功能)</p>
<p>作用：避免各种针对dhcp动态分配IP服务的攻击，arp欺骗<br />
适用：接入和3层交换机，一般配置在接入交换机上<br />
dhcp snooping enable (全局起用dpch探测功能)<br />
dhcp snooping arp security enable (防止arp欺骗)<br />
vlan 1  (每个vlan都需要配，如果需要加固的话)<br />
dhcp snooping enable  (起用指定vlan的探测功能)<br />
dhcp snooping check arp enable (检查arp请求和应答，防止arp欺骗)<br />
dhcp snooping check ip enable (检查所有IP包，避免用户绕过dhcp，私设IP)<br />
dhcp snooping check dhcp-rate enable (限制1秒内可能的dhcp请求数，避免攻击dhcp 服务器)<br />
dhcp snooping trusted interface Ethernet0/0/48 (避免私设dhcp server，只有trusted接口中能收到dhcp server的包，别的接口收到之后直接丢弃)<br />
dhcp option82 rebuild enable interface Ethernet0/0/1 to 0/0/47 (支持上面的各项功能的配置项，建议加上，不加不知道行不行，没有试过)</p>
<p>作用：避免伪造的arp回应毒害arp条目，收到arp响应后，只有此前请求过对应的IP，才接受，反之丢弃<br />
适用：3层交换机<br />
arp learning strict</p>
<p>作用：避免某个条目在短时间内多次修改<br />
达用：3层交换机<br />
arp-suppress enable</p>

	标签：<a href="http://skylove.study-area.org/blog/tag/dhcp" title="DHCP" rel="tag nofollow">DHCP</a>, <a href="http://skylove.study-area.org/blog/tag/%e4%ba%a4%e6%8d%a2%e6%9c%ba" title="交换机" rel="tag nofollow">交换机</a>, <a href="http://skylove.study-area.org/blog/tag/%e5%8d%8e%e4%b8%ba" title="华为" rel="tag nofollow">华为</a>, <a href="http://skylove.study-area.org/blog/tag/%e5%ae%89%e5%85%a8" title="安全" rel="tag nofollow">安全</a><br />

	<h4>相关日志</h4>
	<ul class="st-related-posts">
	<li><a href="http://skylove.study-area.org/blog/2011/05/502.html" title="在华为交换机上查询MAC地址与IP地址与相应端口对照表 (2011-05-19)">在华为交换机上查询MAC地址与IP地址与相应端口对照表</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2010/03/473.html" title="arping命令查ip冲突和路由器当交换机用没关dhcp的情形 (2010-03-31)">arping命令查ip冲突和路由器当交换机用没关dhcp的情形</a> (1)</li>
	<li><a href="http://skylove.study-area.org/blog/2010/03/470.html" title="锐捷交换机配置 (2010-03-19)">锐捷交换机配置</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2004/10/26.html" title="这几天在配置华为交换机的一些经历。。。 (2004-10-17)">这几天在配置华为交换机的一些经历。。。</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2008/11/340.html" title="看完了就不会有人再感慨奶粉事件了... (2008-11-24)">看完了就不会有人再感慨奶粉事件了...</a> (2)</li>
	<li><a href="http://skylove.study-area.org/blog/2005/04/54.html" title="昨天骑车摔了... (2005-04-22)">昨天骑车摔了...</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2009/04/408.html" title="差点被Ubuntu的NetWorkManager 程序给阴了 (2009-04-08)">差点被Ubuntu的NetWorkManager 程序给阴了</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2007/05/152.html" title="对FireFox的搜索进行了加强和更新 (2007-05-06)">对FireFox的搜索进行了加强和更新</a> (1)</li>
	<li><a href="http://skylove.study-area.org/blog/2009/05/422.html" title="安全加固之限制FSO和解除FSO上传程序小于200k限制 (2009-05-04)">安全加固之限制FSO和解除FSO上传程序小于200k限制</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2003/04/9.html" title="学习的路在何方？（以我学习Linux而论） (2003-04-20)">学习的路在何方？（以我学习Linux而论）</a> (1)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://skylove.study-area.org/blog/2011/06/517.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>cm7里adroid市场可浏览而无法下载的解决方法</title>
		<link>http://skylove.study-area.org/blog/2011/06/516.html</link>
		<comments>http://skylove.study-area.org/blog/2011/06/516.html#comments</comments>
		<pubDate>Fri, 03 Jun 2011 07:36:18 +0000</pubDate>
		<dc:creator>天缘(skylove)</dc:creator>
		
		<category><![CDATA[android]]></category>

		<category><![CDATA[cm7]]></category>

		<category><![CDATA[下载]]></category>

		<category><![CDATA[电子市场]]></category>

		<guid isPermaLink="false">http://skylove.study-area.org/blog/?p=516</guid>
		<description><![CDATA[修改hosts 当然是必须的。。。
74.125.93.113  android.clients.google.com
74.125.93.113         clients2.google.com
74.125.93.113         android.l.google.com
接着修正下载的link地址。。。
adb shell
su
mkdir /cache/download
chown system:cache /cache/download
chmod ug+rwx /cache/download
chmod a+x /cache/download

	标签：android, cm7, 下载, 电子市场

	相关日志
	
	[强人刷机]第三讲、安卓的系统ROM (0)
	[强人刷机]第一讲、安卓的结构 (0)
	Google 地球 官方中文版 Plus 5.0.11337.1968 (0)
	Android系统文件夹结构解析 (0)


]]></description>
			<content:encoded><![CDATA[<p>修改hosts 当然是必须的。。。</p>
<blockquote><p>74.125.93.113<span> </span> android.clients.google.com</p>
<p>74.125.93.113         clients2.google.com</p>
<p>74.125.93.113         android.l.google.com</p></blockquote>
<p>接着修正下载的link地址。。。</p>
<blockquote><p>adb shell<br />
su<br />
mkdir /cache/download<br />
chown system:cache /cache/download<br />
chmod ug+rwx /cache/download<br />
chmod a+x /cache/download</p></blockquote>

	标签：<a href="http://skylove.study-area.org/blog/tag/android" title="android" rel="tag nofollow">android</a>, <a href="http://skylove.study-area.org/blog/tag/cm7" title="cm7" rel="tag nofollow">cm7</a>, <a href="http://skylove.study-area.org/blog/tag/%e4%b8%8b%e8%bd%bd" title="下载" rel="tag nofollow">下载</a>, <a href="http://skylove.study-area.org/blog/tag/%e7%94%b5%e5%ad%90%e5%b8%82%e5%9c%ba" title="电子市场" rel="tag nofollow">电子市场</a><br />

	<h4>相关日志</h4>
	<ul class="st-related-posts">
	<li><a href="http://skylove.study-area.org/blog/2010/12/489.html" title="[强人刷机]第三讲、安卓的系统ROM (2010-12-22)">[强人刷机]第三讲、安卓的系统ROM</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2010/12/488.html" title="[强人刷机]第一讲、安卓的结构 (2010-12-22)">[强人刷机]第一讲、安卓的结构</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2009/04/421.html" title="Google 地球 官方中文版 Plus 5.0.11337.1968 (2009-04-27)">Google 地球 官方中文版 Plus 5.0.11337.1968</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2010/12/491.html" title="Android系统文件夹结构解析 (2010-12-22)">Android系统文件夹结构解析</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://skylove.study-area.org/blog/2011/06/516.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Cisco设备光模块解密方法</title>
		<link>http://skylove.study-area.org/blog/2011/06/515.html</link>
		<comments>http://skylove.study-area.org/blog/2011/06/515.html#comments</comments>
		<pubDate>Thu, 02 Jun 2011 14:38:04 +0000</pubDate>
		<dc:creator>天缘(skylove)</dc:creator>
		
		<category><![CDATA[艺海无涯]]></category>

		<category><![CDATA[cisco]]></category>

		<category><![CDATA[模块]]></category>

		<guid isPermaLink="false">http://skylove.study-area.org/blog/?p=515</guid>
		<description><![CDATA[Cisco设备只能用cisco品牌的光模块，其他品牌或杂牌的光模块思科设备是绝对不支持的。
如果你硬是插上别的光模块，cisco端口信息上就会显示Unsupport或Unknown。日志显示以下情况中一种或几种：
%PM_SCP-SP-3-TRANSCEIVER_UNSUPPORTED: Unsupported transceiver in LAN port */*
%PHY-4-CHECK_SUM_FAILED: SFP EEPROM data check sum failed for SFP interface Gi1/0/25
%GBIC_SECURITY_CRYPT-4-VN_DATA_CRC_ERROR: GBIC in port Gi1/0/25 has bad crc
%PM-4-ERR_DISABLE: gbic-invalid error detected on Gi1/0/25, putting Gi1/0/25 in err-disable state
这是为什么呢？
Cisco SFP安全密钥机制 SFP安全密钥机制通过防止非Cisco SFP的使用来保证质量和兼容性。每个SFP都使用非凡的软件密钥进行编码，交换机在运行时对密钥进行验证，若SFP不包含合法的密钥，那么相应的端口关闭，在没有插入Cisco提供的合法的SFP之前，该端口将不能发送或接收任何数据包。
那如何解决Cisco设备光模块安全密钥机制呢？
进入端口配置模式:
打上已下隐藏命令(不能按&#60;tab&#62;键):
service unsupported-transceiver
no errdisable detect cause gbic-invalid
speed nonegotiate
保存配置
然后插上光模块
完成
如此一来，switch就不会去检查GBIC的序号，而让使用者可以先把第三方的GBIC或SFP插在机器上，让网路先恢复运作。当然，基于「不鼓励」的原则，前一个指令是「隐藏版」的指令。如果想不起来的时候，就算用「?」按到手抽筋，也绝对不会看见unsupported-transceiver出现在command list里面；而且没有把完整指令打完，机器也绝对不会接受；至于想要打个unsup再按&#60;tab&#62;键，很抱歉，无效，不知道完整指令的人，永远也别想偷偷用来路不明的GBIC或SFP，呵。
cisco公司特别说明:
用(config)#service unsupported-transceiver指令之后，设备会跳出以下的警告讯息：
Warning: When Cisco determines that a fault or defect can be [...]]]></description>
			<content:encoded><![CDATA[<p><span>Cisco设备只能用cisco品牌的光模块，其他品牌或杂牌的光模块思科设备是绝对不支持的。<br />
如果你硬是插上别的光模块，cisco端口信息上就会显示Unsupport或Unknown。日志显示以下情况中一种或几种：<br />
%PM_SCP-SP-3-TRANSCEIVER_UNSUPPORTED: Unsupported transceiver in LAN port */*<br />
%PHY-4-CHECK_SUM_FAILED: SFP EEPROM data check sum failed for SFP interface Gi1/0/25<br />
%GBIC_SECURITY_CRYPT-4-VN_DATA_CRC_ERROR: GBIC in port Gi1/0/25 has bad crc<br />
%PM-4-ERR_DISABLE: gbic-invalid error detected on Gi1/0/25, putting Gi1/0/25 in err-disable state<br />
这是为什么呢？<br />
Cisco SFP安全密钥机制 SFP安全密钥机制通过防止非Cisco SFP的使用来保证质量和兼容性。每个SFP都使用非凡的软件密钥进行编码，交换机在运行时对密钥进行验证，若SFP不包含合法的密钥，那么相应的端口关闭，在没有插入Cisco提供的合法的SFP之前，该端口将不能发送或接收任何数据包。<br />
那如何解决Cisco设备光模块安全密钥机制呢？<br />
进入端口配置模式:<br />
打上已下隐藏命令(不能按&lt;tab&gt;键):<br />
service unsupported-transceiver<br />
no errdisable detect cause gbic-invalid<br />
speed nonegotiate<br />
保存配置<br />
然后插上光模块<br />
完成<br />
如此一来，switch就不会去检查GBIC的序号，而让使用者可以先把第三方的GBIC或SFP插在机器上，让网路先恢复运作。当然，基于「不鼓励」的原则，前一个指令是「隐藏版」的指令。如果想不起来的时候，就算用「?」按到手抽筋，也绝对不会看见unsupported-transceiver出现在command list里面；而且没有把完整指令打完，机器也绝对不会接受；至于想要打个unsup再按&lt;tab&gt;键，很抱歉，无效，不知道完整指令的人，永远也别想偷偷用来路不明的GBIC或SFP，呵。<br />
cisco公司特别说明:<br />
用(config)#service unsupported-transceiver指令之后，设备会跳出以下的警告讯息：<br />
Warning: When Cisco determines that a fault or defect can be traced to the use of third-party transceivers installed by a customer or reseller, then, at Ciscos discretion, Cisco may withhold support under warranty or a Cisco support program. In the course of providing support for a Cisco networking product Cisco may require<br />
that the end user install Cisco transceivers if Cisco determines that removing third-party parts will assist Cisco in diagnosing the cause of a support issue.<br />
简单的说，就是Cisco对于这些来路不明的GBIC不提供任何保证，网路要是不通，请乖乖买原厂GBIC啦...... </span></p>

	标签：<a href="http://skylove.study-area.org/blog/tag/cisco" title="cisco" rel="tag nofollow">cisco</a>, <a href="http://skylove.study-area.org/blog/tag/%e6%a8%a1%e5%9d%97" title="模块" rel="tag nofollow">模块</a><br />

	<h4>相关日志</h4>
	<ul class="st-related-posts">
	<li><a href="http://skylove.study-area.org/blog/2004/10/26.html" title="这几天在配置华为交换机的一些经历。。。 (2004-10-17)">这几天在配置华为交换机的一些经历。。。</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2004/10/28.html" title="现在是早上5点,我在赶稿ing (2004-10-19)">现在是早上5点,我在赶稿ing</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2008/04/283.html" title="开始重新学习CCNA的知识了 (2008-04-28)">开始重新学习CCNA的知识了</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2006/07/100.html" title="update netsim 6 (2006-07-25)">update netsim 6</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2005/04/51.html" title="huawei 65系列上开snmp (2005-04-07)">huawei 65系列上开snmp</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2010/03/467.html" title="cisco路由器的寄存器值（忘记密码时要进机器时候用的） (2010-03-16)">cisco路由器的寄存器值（忘记密码时要进机器时候用的）</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://skylove.study-area.org/blog/2011/06/515.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>如何快速创建 Xen 虚拟机镜像</title>
		<link>http://skylove.study-area.org/blog/2011/06/514.html</link>
		<comments>http://skylove.study-area.org/blog/2011/06/514.html#comments</comments>
		<pubDate>Thu, 02 Jun 2011 14:16:44 +0000</pubDate>
		<dc:creator>天缘(skylove)</dc:creator>
		
		<category><![CDATA[艺海无涯]]></category>

		<category><![CDATA[xen]]></category>

		<category><![CDATA[虚拟化]]></category>

		<guid isPermaLink="false">http://skylove.study-area.org/blog/?p=514</guid>
		<description><![CDATA[此文转载自 vpsee.com http://www.vpsee.com/2011/04/how-to-create-a-xen-file-image-faster/
在 Linux 上安装完 Xen 服务器后接下来的工作就是如何创建和启动一个虚拟机。这个看似很简单的问题难住了不少人，VPSee 收到不少邮件关于如何快速创建和部署虚拟机镜像的。创建虚拟机的工具有很多，比如 virt-manager, virt-install, virsh, xen-create-image 等等，不过这些工具都要每次重头安装虚拟机的操作系统，需要人机交互、速度慢、不自动，不利于写成脚本。有什么快速的创建/部署/克隆虚拟机的办法呢？可以先做一个模版，然后通过拷贝模版的办法。我们只需要两个步骤：1、创建一个空白文件镜像；2、然后把一个打包好的 Linux 系统模版拷贝过去。通常一个打包好的最小 Linux 系统只要200MB 左右，在高配置的服务器上拷贝基本能瞬间完成，比起拷贝整个虚拟机镜像文件（比如 10GB）要快得多。具体步骤：
1、创建一个磁盘镜像文件：
# dd if=/dev/zero of=vpsee.img bs=1 count=1 seek=10G
2、格式化磁盘：
# mkfs.ext3 vpsee.img
3、挂载刚刚创建的磁盘镜像文件：
# mount -o loop vpsee.img /mnt
4、找个现有 Linux 的文件系统拷贝过去：
# tar -zxSf centos.tar.gz -C /mnt/
需要说明的是，这里的 centos.tar.gz 是提前制作好的，可以在一个干净的虚拟机上手动安装好一个最小的 CentOS 系统，然后配置和优化好，这样就是一个模板，以后如果创建新的 CentOS 虚拟机就可以从这个模板直接拷贝。
5、卸载 /mnt：
# umount mnt
6、创建一个交换分区：
# dd if=/dev/zero of=vpsee-swap.img bs=1M count=256
7、创建和编辑一个 Xen 虚拟机的启动文件：
# vi [...]]]></description>
			<content:encoded><![CDATA[<p>此文转载自 vpsee.com <a href="http://www.vpsee.com/2011/04/how-to-create-a-xen-file-image-faster/">http://www.vpsee.com/2011/04/how-to-create-a-xen-file-image-faster/</a></p>
<p>在 Linux 上安装完 Xen 服务器后接下来的工作就是如何创建和启动一个虚拟机。这个看似很简单的问题难住了不少人，VPSee 收到不少邮件关于如何快速创建和部署虚拟机镜像的。创建虚拟机的工具有很多，比如 virt-manager, virt-install, virsh, xen-create-image 等等，不过这些工具都要每次重头安装虚拟机的操作系统，需要人机交互、速度慢、不自动，不利于写成脚本。有什么快速的创建/部署/克隆虚拟机的办法呢？可以先做一个模版，然后通过拷贝模版的办法。我们只需要两个步骤：1、创建一个空白文件镜像；2、然后把一个打包好的 Linux 系统模版拷贝过去。通常一个打包好的最小 Linux 系统只要200MB 左右，在高配置的服务器上拷贝基本能瞬间完成，比起拷贝整个虚拟机镜像文件（比如 10GB）要快得多。具体步骤：</p>
<p>1、创建一个磁盘镜像文件：</p>
<pre class="code"># dd if=/dev/zero of=vpsee.img bs=1 count=1 seek=10G</pre>
<p>2、格式化磁盘：</p>
<pre class="code"># mkfs.ext3 vpsee.img</pre>
<p>3、挂载刚刚创建的磁盘镜像文件：</p>
<pre class="code"># mount -o loop vpsee.img /mnt</pre>
<p>4、找个现有 Linux 的文件系统拷贝过去：</p>
<pre class="code"># tar -zxSf centos.tar.gz -C /mnt/</pre>
<p>需要说明的是，这里的 centos.tar.gz 是提前制作好的，可以在一个干净的虚拟机上手动安装好一个最小的 CentOS 系统，然后配置和优化好，这样就是一个模板，以后如果创建新的 CentOS 虚拟机就可以从这个模板直接拷贝。</p>
<p>5、卸载 /mnt：</p>
<pre class="code"># umount mnt</pre>
<p>6、创建一个交换分区：</p>
<pre class="code"># dd if=/dev/zero of=vpsee-swap.img bs=1M count=256</pre>
<p>7、创建和编辑一个 Xen 虚拟机的启动文件：</p>
<pre class="code"># vi /etc/xen/vpsee.conf
name            = 'vpsee'
vcpus           = 1
memory          = '256'
disk            = [ 'tap:aio:/home/vpsee/vpsee.img,sda1,w',
'tap:aio:/home/vpsee/vpseeswap.img,sda2,w',
]
vif             = [ 'bridge=eth0' ]
root            = '/dev/sda1 ro'
on_reboot       = 'restart'
on_crash        = 'restart'
kernel          = "/boot/vmlinuz-2.6.18-194.32.1.el5xen"
ramdisk         = "/boot/initrd-2.6.18-194.32.1.el5xen.img"</pre>
<p>8、启动 Xen 虚拟机：</p>
<pre class="code"># xm create vpsee</pre>
<p>如果把上面的步骤综合起来写在一个脚本里并配上 Xen Shell 控制面板就可以完成 VPS 客户自己快速重装系统的功能。如果把这个脚本加到客户的账单管理系统里（比如 WHMCS）就可以完成客户付款自动开通 VPS 的功能。不过我们的 VPS 不提供客户自助重装功能和自动开通功能，损失了一点方便性，但是换来了稳定和性能还是值得的。如果用 LVM, iSCSI 之类的存储方式的话原理也是一样的。</p>
<p><strong>制作虚拟备份镜像</strong></p>
<blockquote><p>tar cvpzf centos.tar.gz --exclude=/centos.tar.gz --exclude=/lost+found --exclude=/media --exclude=/proc --exclude=/mnt --exclude=/sys --exclude=/dev /</p></blockquote>

	标签：<a href="http://skylove.study-area.org/blog/tag/xen" title="xen" rel="tag nofollow">xen</a>, <a href="http://skylove.study-area.org/blog/tag/%e8%99%9a%e6%8b%9f%e5%8c%96" title="虚拟化" rel="tag nofollow">虚拟化</a><br />

	<h4>相关日志</h4>
	<ul class="st-related-posts">
	<li><a href="http://skylove.study-area.org/blog/2011/06/512.html" title="伪技术人员的成长历程之70－Xen虚拟机下添加Swap磁盘 (2011-06-02)">伪技术人员的成长历程之70－Xen虚拟机下添加Swap磁盘</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2011/06/510.html" title="xen虚拟机管理xm的用法 (2011-06-01)">xen虚拟机管理xm的用法</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2011/06/509.html" title="xen建立虚拟机方法 (2011-06-01)">xen建立虚拟机方法</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2011/06/511.html" title="CentOS5.3下xen虚拟机的配置笔记 (2011-06-02)">CentOS5.3下xen虚拟机的配置笔记</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2009/11/461.html" title="关于ESX的几则文章 (2009-11-27)">关于ESX的几则文章</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2009/11/460.html" title="Windows 7下使用VMware vSphere Client (2009-11-26)">Windows 7下使用VMware vSphere Client</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://skylove.study-area.org/blog/2011/06/514.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>伪技术人员的成长历程之70－Xen虚拟机下添加Swap磁盘</title>
		<link>http://skylove.study-area.org/blog/2011/06/512.html</link>
		<comments>http://skylove.study-area.org/blog/2011/06/512.html#comments</comments>
		<pubDate>Thu, 02 Jun 2011 09:38:19 +0000</pubDate>
		<dc:creator>天缘(skylove)</dc:creator>
		
		<category><![CDATA[艺海无涯]]></category>

		<category><![CDATA[xen]]></category>

		<category><![CDATA[虚拟化]]></category>

		<guid isPermaLink="false">http://skylove.study-area.org/blog/?p=512</guid>
		<description><![CDATA[伪技术人员的成长历程之70－Xen虚拟机下添加Swap磁盘
和使用Xen会遇到虚拟机磁盘扩展一样，也会遇到添加Swap交换分区的情况。
添加Swap基本上有两种方式，第一种就是比较正式的，以磁盘分区划分建立Swap交换分区提供给系统；第二种是在系统内建立块文件，然后做成Swap块然后挂到系统上去的。从性能上来说，Swap文件块的性能不如Swap交换分区来的好，另外从难度上来说，Swap交换分区的工作要比Swap块来的复杂一点点，所以，当会做Swap分区后，做Swap块自然不在话下了。
这里，通过Xen添加Swap磁盘并分区等一系列过程进行体会。
一.Xen宿主机部分工作。
1.宿主机内做出一个块文件作为Xen虚拟机的Swap用磁盘设备。
[root@localhost xen]# dd if=/dev/zero of=./swap.img bs=1M count=2000 &#38;
这里做了一个2G大小的块文件。
2.编辑Xen虚拟机的配置文件。
[root@localhost xen]# vi /etc/xen/Xen_Guest
------------------------------------------------------------------------------
name = "Xen_Guest"
uuid = "f4e303be-750e-03b3-7bc0-123253069218"
maxmem = 512
memory = 512
vcpus = 2
bootloader = "/usr/bin/pygrub"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
vfb = [  ]
#disk = [ "tap:aio:/opt/disk1.img,xvda,w", ]
这个是原本的磁盘设备的配置，只有一个xvda。这里注释掉。
disk = [ "tap:aio:/opt/xen/Xen_Guest/disk1.img,xvda,w", "tap:aio:/opt/xen/Xen_Guest/swap.img,xvdb,w",]
这个是重新的写的磁盘设备，除了原来的xvda块，还将刚才做的块文件添加成虚拟机的xvdb块，以作Swap磁盘用。
vif = [ "mac=00:16:3e:4e:22:18,bridge=xenbr0" ]
------------------------------------------------------------------------------
二.Xen虚拟机内处理磁盘：
1.察看虚拟机内的磁盘设备。
在Xen的虚拟机里面，设备都是虚拟的设备，这些设备都是xv开头的。
[root@localhost ~]# ll /dev/xv*
------------------------------------------------------------------------------
crw--w---- 1 root tty  204, 191 Dec 24 09:10 [...]]]></description>
			<content:encoded><![CDATA[<p>伪技术人员的成长历程之70－Xen虚拟机下添加Swap磁盘<br />
和使用Xen会遇到虚拟机磁盘扩展一样，也会遇到添加Swap交换分区的情况。<br />
添加Swap基本上有两种方式，第一种就是比较正式的，以磁盘分区划分建立Swap交换分区提供给系统；第二种是在系统内建立块文件，然后做成Swap块然后挂到系统上去的。从性能上来说，Swap文件块的性能不如Swap交换分区来的好，另外从难度上来说，Swap交换分区的工作要比Swap块来的复杂一点点，所以，当会做Swap分区后，做Swap块自然不在话下了。<br />
这里，通过Xen添加Swap磁盘并分区等一系列过程进行体会。<br />
一.Xen宿主机部分工作。<br />
1.宿主机内做出一个块文件作为Xen虚拟机的Swap用磁盘设备。<br />
[root@localhost xen]# dd if=/dev/zero of=./swap.img bs=1M count=2000 &amp;<br />
这里做了一个2G大小的块文件。<br />
2.编辑Xen虚拟机的配置文件。<br />
[root@localhost xen]# vi /etc/xen/Xen_Guest<br />
------------------------------------------------------------------------------<br />
name = "Xen_Guest"<br />
uuid = "f4e303be-750e-03b3-7bc0-123253069218"<br />
maxmem = 512<br />
memory = 512<br />
vcpus = 2<br />
bootloader = "/usr/bin/pygrub"<br />
on_poweroff = "destroy"<br />
on_reboot = "restart"<br />
on_crash = "restart"<br />
vfb = [  ]<br />
#disk = [ "tap:aio:/opt/disk1.img,xvda,w", ]<br />
这个是原本的磁盘设备的配置，只有一个xvda。这里注释掉。</p>
<p>disk = [ "tap:aio:/opt/xen/Xen_Guest/disk1.img,xvda,w", "tap:aio:/opt/xen/Xen_Guest/swap.img,xvdb,w",]<br />
这个是重新的写的磁盘设备，除了原来的xvda块，还将刚才做的块文件添加成虚拟机的xvdb块，以作Swap磁盘用。</p>
<p>vif = [ "mac=00:16:3e:4e:22:18,bridge=xenbr0" ]<br />
------------------------------------------------------------------------------<br />
二.Xen虚拟机内处理磁盘：<br />
1.察看虚拟机内的磁盘设备。<br />
在Xen的虚拟机里面，设备都是虚拟的设备，这些设备都是xv开头的。<br />
[root@localhost ~]# ll /dev/xv*<br />
------------------------------------------------------------------------------<br />
crw--w---- 1 root tty  204, 191 Dec 24 09:10 /dev/xvc0<br />
brw-r----- 1 root disk 202,   0 Dec 24 08:54 /dev/xvda （物理设备）<br />
brw-r----- 1 root disk 202,   1 Dec 24 08:54 /dev/xvda1 （逻辑设备）<br />
brw-r----- 1 root disk 202,  16 Dec 24 08:54 /dev/xvdb （物理设备，未分区，不能直接拿来用）<br />
------------------------------------------------------------------------------<br />
注意，这里的设备如/dev/xvda或者/dev/xvdb都是概念上的“物理设备”，一定要进行初始化成分区，如/dev/xvda1这样后面会有个数字编号的才叫“逻辑设备”，即使是把一个盘分成一个区。像这里/dev/xvda是物理磁盘设备文件，系统把它整个盘作为一个分区/dev/xvda1，使它变成了逻辑设备文件，从而它才能被系统使用。物理设备是不能被系统所直接使用的。<br />
2.利用fdisk来初始化物理磁盘设备。<br />
就如刚才所说的，物理磁盘设备是无法直接使用的，这里就是先用fdisk处理出逻辑设备来。<br />
[root@guesthost ~]# fdisk /dev/xvdb<br />
------------------------------------------------------------------------------<br />
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel<br />
Building a new DOS disklabel. Changes will remain in memory only,<br />
until you decide to write them. After that, of course, the previous<br />
content won't be recoverable.</p>
<p>Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)<br />
-----------------------------------<br />
(1)这里给出命令，并且提示输入m可以得到帮助。这里介绍几个比较常用的：<br />
Command (m for help): m<br />
Command action<br />
   a   toggle a bootable flag<br />
   b   edit bsd disklabel<br />
   c   toggle the dos compatibility flag<br />
   d   delete a partition （删除已有的分区）<br />
   l   list known partition types （列出文件系统类型）<br />
   m   print this menu （列出命令帮助）<br />
   n   add a new partition （新建分区）<br />
   o   create a new empty DOS partition table<br />
   p   print the partition table （察看分区表）<br />
   q   quit without saving changes （不保存退出）<br />
   s   create a new empty Sun disklabel<br />
   t   change a partition's system id （设定或改变分区文件系统类型）<br />
   u   change display/entry units<br />
   v   verify the partition table （确认分区表）<br />
   w   write table to disk and exit （将分区设定保存并退出）<br />
   x   extra functionality (experts only)<br />
-----------------------------------</p>
<p>(2)建立新分区：<br />
Command (m for help): n<br />
Command action<br />
   e   extended （按e建立扩展分区）<br />
   p   primary partition (1-4) （按p建立主分区）<br />
p<br />
这里我们建立主分区<br />
Partition number (1-4): 1 （主要分区最多一个磁盘4个，这里先占用第一个）<br />
First cylinder (1-254, default 1): 1<br />
Last cylinder or +size or +sizeM or +sizeK (1-254, default 254): 127</p>
<p>再建立一个主分区<br />
Command (m for help): n<br />
Command action<br />
   e   extended<br />
   p   primary partition (1-4)<br />
p<br />
Partition number (1-4): 2 （由于之前已经占用掉了1个主要分区，这里就占用第二个）<br />
First cylinder (128-254, default 128): 128<br />
Last cylinder or +size or +sizeM or +sizeK (128-254, default 254): 254<br />
-----------------------------------</p>
<p>(3)察看分区表：<br />
Command (m for help): p</p>
<p>Disk /dev/xvdb: 2097 MB, 2097152000 bytes<br />
255 heads, 63 sectors/track, 254 cylinders<br />
Units = cylinders of 16065 * 512 = 8225280 bytes</p>
<p>    Device Boot      Start         End      Blocks   Id  System<br />
/dev/xvdb1               1         127     1020096   83  Linux<br />
/dev/xvdb2             128         254     1020127+  83  Linux<br />
这里可以看到，物理磁盘设备/dev/xvdb上建立出来了2个逻辑磁盘设备，分别是/dev/xvdb1和/dev/xvdb2。并且，默认建立出来的磁盘文件系统类型为“83 Linux”。这个并不是我们欲做Swap的逻辑磁盘的类型，必须要更改掉。<br />
-----------------------------------</p>
<p>(4)更改逻辑磁盘设备的文件系统类型：<br />
Command (m for help): t<br />
Partition number (1-4): 1 （要选择欲更改的主要分区，这里先选择第一个）<br />
Hex code (type L to list codes): L （每种文件系统都是由一个数字编号代表，在选择之前，可以通过L来察看编号列表）</p>
<p> 0  Empty           1e  Hidden W95 FAT1 80  Old Minix       be  Solaris boot  <br />
 1  FAT12           24  NEC DOS         81  Minix / old Lin bf  Solaris       <br />
 2  XENIX root      39  Plan 9          82  Linux swap / So c1  DRDOS/sec (FAT-<br />
 3  XENIX usr       3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-<br />
 4  FAT16 &lt;32M      40  Venix 80286     84  OS/2 hidden C:  c6  DRDOS/sec (FAT-<br />
 5  Extended        41  PPC PReP Boot   85  Linux extended  c7  Syrinx        <br />
 6  FAT16           42  SFS             86  NTFS volume set da  Non-FS data   <br />
 7  HPFS/NTFS       4d  QNX4.x          87  NTFS volume set db  CP/M / CTOS / .<br />
 8  AIX             4e  QNX4.x 2nd part 88  Linux plaintext de  Dell Utility  <br />
 9  AIX bootable    4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt        <br />
 a  OS/2 Boot Manag 50  OnTrack DM      93  Amoeba          e1  DOS access    <br />
 b  W95 FAT32       51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O       <br />
 c  W95 FAT32 (LBA) 52  CP/M            9f  BSD/OS          e4  SpeedStor     <br />
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs       <br />
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  EFI GPT       <br />
10  OPUS            55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/<br />
11  Hidden FAT12    56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC b<br />
12  Compaq diagnost 5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor     <br />
14  Hidden FAT16 &lt;3 61  SpeedStor       a9  NetBSD          f4  SpeedStor     <br />
16  Hidden FAT16    63  GNU HURD or Sys ab  Darwin boot     f2  DOS secondary <br />
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fd  Linux raid auto<br />
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fe  LANstep       <br />
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid ff  BBT           <br />
1c  Hidden W95 FAT3 75  PC/IX<br />
（适合我们用作Swap的系统类型编号为“82 Linux swap / Solaris”）</p>
<p>选择82作为Swap用的系统类型：        <br />
Hex code (type L to list codes): 82<br />
Changed system type of partition 1 to 82 (Linux swap / Solaris)</p>
<p>于是，用同样的方法处理第二个分区。<br />
Command (m for help): t<br />
Partition number (1-4): 2<br />
Hex code (type L to list codes): 82<br />
Changed system type of partition 2 to 82 (Linux swap / Solaris)<br />
(5)重新察看分区表：<br />
Command (m for help): p</p>
<p>Disk /dev/xvdb: 2097 MB, 2097152000 bytes<br />
255 heads, 63 sectors/track, 254 cylinders<br />
Units = cylinders of 16065 * 512 = 8225280 bytes</p>
<p>    Device Boot      Start         End      Blocks   Id  System<br />
/dev/xvdb1               1         127     1020096   82  Linux swap / Solaris<br />
/dev/xvdb2             128         254     1020127+  82  Linux swap / Solaris<br />
这里可以发现，/dev/xvdb1和/dev/xvdb2的文件系统类型都变成了“82 Linux swap / Solaris”了，这才是我们需要的Swap文件系统类型。<br />
(6)保存分区结果并且退出fdisk程序。<br />
Command (m for help): w<br />
The partition table has been altered!</p>
<p>Calling ioctl() to re-read partition table.<br />
Syncing disks.<br />
------------------------------------------------------------------------------<br />
3.通过fdisk察看系统的磁盘分区情况。<br />
[root@guesthost ~]# fdisk -l<br />
------------------------------------------------------------------------------<br />
Disk /dev/xvda: 8589 MB, 8589934592 bytes<br />
255 heads, 63 sectors/track, 1044 cylinders<br />
Units = cylinders of 16065 * 512 = 8225280 bytes</p>
<p>    Device Boot      Start         End      Blocks   Id  System<br />
/dev/xvda1   *           1        1044     8385898+  83  Linux</p>
<p>Disk /dev/xvdb: 2097 MB, 2097152000 bytes<br />
255 heads, 63 sectors/track, 254 cylinders<br />
Units = cylinders of 16065 * 512 = 8225280 bytes</p>
<p>    Device Boot      Start         End      Blocks   Id  System<br />
/dev/xvdb1               1         127     1020096   82  Linux swap / Solaris<br />
/dev/xvdb2             128         254     1020127+  82  Linux swap / Solaris<br />
------------------------------------------------------------------------------<br />
主要看刚才操作的/dev/xvdb1和/dev/xvdb2这两个分区。<br />
三.将新分区制作成Swap交换分区。<br />
1.使用mkswap命令将逻辑分区制作成Swap交换分区。<br />
(1)首先查找mkswap命令的位置路径。<br />
[root@guesthost ~]# whereis mkswap<br />
------------------------------------------------------------------------------<br />
mkswap: /sbin/mkswap<br />
            /usr/share/man/man8/mkswap.8.gz<br />
------------------------------------------------------------------------------<br />
(2)察看mkswap的手册。<br />
[root@guesthost ~]# man mkswap<br />
------------------------------------------------------------------------------<br />
SYNOPSIS<br />
       mkswap [-c] [-vN] [-f] [-p PSZ] [-L label] devi] [-L label] device [size]</p>
<p>DESCRIPTION<br />
用途：<br />
       mkswap sets up a Linux swap area on a device or in a file.<br />
       mkswap的作用就是在把一个文件或者设备制作成Linux Swap区域。</p>
<p>OPTIONS<br />
选项：（这里交待几个比较重要和常用的）</p>
<p>       -c     Check the device (if it is a block device) for bad blocks before<br />
              creating the swap area.  If any are found, the count is printed.<br />
              检查设备或者块文件是否有坏点，如果有则立即提示。<br />
   <br />
       -f     Force - go ahead even if the command is stupid.  This allows the<br />
              creation  of  a  swap  area larger than the file or partition it<br />
              resides on.  On SPARC, force creation of the swap area.  Without<br />
              this  option  mkswap will refuse to create a v0 swap on a device<br />
              with a valid SPARC superblock, as that  probably  means  one  is<br />
              going to erase the partition table.<br />
              强制进行Swap建立。</p>
<p>       -p PSZ Specify the page size to use.<br />
              指定Swap页的大小，Swap是分页的。</p>
<p>       -L label<br />
              Specify  a label, to allow swapon by label.  (Only for new style<br />
              swap areas.)<br />
              指定标签名。</p>
<p>       -v0    Create an old style swap area.<br />
              建立版本0的旧式Swap区域。</p>
<p>       -v1    Create a new style swap area.<br />
              建立版本1的新式Swap区域。</p>
<p>       If no -v option is given, mkswap will default to new style, but use old<br />
       style  if  the  current  kernel  is  older  than  2.1.117  (and also if<br />
       PAGE_SIZE is less than 2048).  The new style header does not touch  the<br />
       first  block,  so  may be preferable, in case you have a boot loader or<br />
       disk label there.  If you need to use both 2.0 and 2.2 kernels, use the<br />
       -v0 option when creating the swapspace.<br />
              如果不指定的Swap区域的版本的话，默认是版本1的新式Swap区域。<br />
------------------------------------------------------------------------------<br />
(3)把/dev/xvdb1和/dev/xvdb2制作为新式Swap交换分区，并且检查坏点以及加入相应的标签名。<br />
[root@guesthost ~]# mkswap -cv1 -L swap1 /dev/xvdb1<br />
Setting up swapspace version 1, size = 1044574 kB<br />
LABEL=swap1, no uuid</p>
<p>[root@guesthost ~]# mkswap -cv1 -L swap2 /dev/xvdb2<br />
Setting up swapspace version 1, size = 1044602 kB<br />
LABEL=swap2, no uuid<br />
2.使用swapon命令启用Swap交换分区。<br />
(1)首先查找swapon命令的位置路径。<br />
[root@guesthost ~]# whereis swapon</p>
<p>------------------------------------------------------------------------------<br />
swapon: /sbin/swapon /usr/share/man/man8/swapon.8.gz<br />
            /usr/share/man/man2/swapon.2.gz<br />
------------------------------------------------------------------------------<br />
(2)察看swapon的手册。<br />
[root@guesthost xen]# man swapon<br />
------------------------------------------------------------------------------<br />
NAME<br />
       swapon, swapoff - enable/disable devices and files for paging and swap-<br />
       ping</p>
<p>SYNOPSIS<br />
       /sbin/swapon [-h -V]<br />
       /sbin/swapon -a [-v] [-e]<br />
       /sbin/swapon [-v] [-p priority]  specialfile ...<br />
       /sbin/swapon [-s]<br />
       /sbin/swapoff [-h -V]<br />
       /sbin/swapoff -a<br />
       /sbin/swapoff specialfile ...</p>
<p>DESCRIPTION<br />
       Swapon is used to specify devices on which paging and swapping  are  to<br />
       take place.</p>
<p>       The  device  or file used is given by the specialfile parameter. It may<br />
       be of the form -L label or -U uuid to indicate a  device  by  label  or<br />
       uuid.</p>
<p>       Calls  to swapon normally occur in the system multi-user initialization<br />
       file /etc/rc making all swap devices available, so that the paging  and<br />
       swapping activity is interleaved across several devices and files.</p>
<p>       Normally, the first form is used:</p>
<p>       -a     All  devices  marked  as 忖swap忖 swap devices in /etc/fstab are<br />
              made available, except for those  with  the  忖noauto忖  option.<br />
              Devices that are already running as swap are silently skipped.</p>
<p>       -e     When  -a  is  used  with  swapon,  -e makes swapon silently skip<br />
              devices that do not exist.</p>
<p>       -h     Provide help</p>
<p>       -L label<br />
              Use the partition that has  the  specified  label.   (For  this,<br />
              access to /proc/partitions is needed.)</p>
<p>       -p priority<br />
              Specify  priority  for swapon.  This option is only available if<br />
              swapon was compiled under and is used under  a  1.3.2  or  later<br />
              kernel.  priority is a value between 0 and 32767. Higher numbers<br />
              indicate higher priority. See swapon(2) for a  full  description<br />
              of  swap  priorities.  Add  pri=value  to  the  option  field of<br />
              /etc/fstab for use with swapon -a.</p>
<p>       -s     Display  swap  usage  summary  by  device.  Equivalent  to  "cat<br />
              /proc/swaps".  Not available before Linux 2.1.25.</p>
<p>       -U uuid<br />
              Use  the  partition  that  has  the  specified uuid.  (For this,<br />
              access to /proc/partitions is needed.)</p>
<p>       -v     Be verbose.</p>
<p>       -V     Display version</p>
<p>       Swapoff disables swapping on the specified devices and files.  When the<br />
       -a  flag  is  given, swapping is disabled on all known swap devices and<br />
       files (as found in /proc/swaps or /etc/fstab).<br />
-------------------------------------------------------<br />
(3)将两个Swap分区启用。<br />
[root@guesthost ~]# swapon /dev/xvdb1<br />
[root@guesthost ~]# swapon /dev/xvdb2<br />
(4)察看系统在用的Swap分区。<br />
[root@guesthost ~]# swapon -s<br />
-------------------------------------------------------<br />
Filename                                Type            Size    Used    Priority<br />
/dev/xvdb1                              partition       1020088 0       -1<br />
/dev/xvdb2                              partition       1020116 0       -2<br />
-------------------------------------------------------<br />
四.将设备分区挂载信息写入/etc/fstab.conf中。以后系统启动时将会自动挂载Swap。<br />
1.首先将/etc/fstab.conf进行备份。<br />
[root@guesthost ~]# cp /etc/fstab /etc/fstab.backup</p>
<p>2.编辑/etc/fstab.conf。<br />
[root@guesthost ~]# vi /etc/fstab<br />
-------------------------------------------------------<br />
设备或标签              挂载点                文件类型  属性<br />
LABEL=/                 /                       ext3    defaults        1 1<br />
tmpfs                   /dev/shm                tmpfs   defaults        0 0<br />
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0<br />
sysfs                   /sys                    sysfs   defaults        0 0<br />
proc                    /proc                   proc    defaults        0 0</p>
<p>添加以下两行<br />
/dev/xvdb1              swap                    swap    defaults        0 0<br />
/dev/xvdb2              swap                    swap    defaults        0 0<br />
-------------------------------------------------------<br />
注意：这里记得千万要仔细编辑。如果出错，系统会出现非常不堪的后果，然后处理起来会比较麻烦。<br />
五.重新启动Xen虚拟机系统：<br />
[root@guesthost ~]# reboot<br />
-------------------------------------------------------<br />
Broadcast message from root (xvc0) (Mon Dec 24 09:43:11 2007):</p>
<p>The system is going down for reboot NOW!<br />
INIT: Switching to runlevel: 6<br />
INIT: Sending processes the TERM signal<br />
Shutting down smartd: [  OK  ]<br />
......<br />
......<br />
-------------------------------------------------------<br />
六.重启后进入Xen虚拟机检查Swap情况：<br />
1.检查系统在用Swap的映射文件/proc/swaps。这个文件是映射出来的，非常有说明力。<br />
[root@Xen_Guest ~]# cat /proc/swaps<br />
-------------------------------------------------------<br />
Filename                                Type            Size    Used    Priority<br />
/dev/xvdb1                              partition       1020088 0       -1<br />
/dev/xvdb2                              partition       1020116 0       -2<br />
-------------------------------------------------------<br />
2.察看系统分区状况：<br />
[root@Xen_Guest ~]# fdisk -l<br />
-------------------------------------------------------<br />
Disk /dev/xvda: 8589 MB, 8589934592 bytes<br />
255 heads, 63 sectors/track, 1044 cylinders<br />
Units = cylinders of 16065 * 512 = 8225280 bytes</p>
<p>    Device Boot      Start         End      Blocks   Id  System<br />
/dev/xvda1   *           1        1044     8385898+  83  Linux</p>
<p>Disk /dev/xvdb: 2097 MB, 2097152000 bytes<br />
255 heads, 63 sectors/track, 254 cylinders<br />
Units = cylinders of 16065 * 512 = 8225280 bytes</p>
<p>    Device Boot      Start         End      Blocks   Id  System<br />
/dev/xvdb1               1         127     1020096   82  Linux swap / Solaris<br />
/dev/xvdb2             128         254     1020127+  82  Linux swap / Solaris<br />
-------------------------------------------------------<br />
3.察看系统Swap启用状况：<br />
[root@Xen_Guest ~]# swapon -s<br />
-------------------------------------------------------<br />
Filename                                Type            Size    Used    Priority<br />
/dev/xvdb1                              partition       1020088 0       -1<br />
/dev/xvdb2                              partition       1020116 0       -2<br />
-------------------------------------------------------<br />
到这里，Swap的已经成功挂载并运行。<br />
不单单是Xen下的例子。在一般系统当中也是如此。</p>
<p> </p>
<p>本文来自CSDN博客，转载请标明出处：<a href="http://blog.csdn.net/Kane_Cruise/archive/2007/12/24/1965690.aspx">http://blog.csdn.net/Kane_Cruise/archive/2007/12/24/1965690.aspx</a></p>

	标签：<a href="http://skylove.study-area.org/blog/tag/xen" title="xen" rel="tag nofollow">xen</a>, <a href="http://skylove.study-area.org/blog/tag/%e8%99%9a%e6%8b%9f%e5%8c%96" title="虚拟化" rel="tag nofollow">虚拟化</a><br />

	<h4>相关日志</h4>
	<ul class="st-related-posts">
	<li><a href="http://skylove.study-area.org/blog/2011/06/514.html" title="如何快速创建 Xen 虚拟机镜像 (2011-06-02)">如何快速创建 Xen 虚拟机镜像</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2011/06/510.html" title="xen虚拟机管理xm的用法 (2011-06-01)">xen虚拟机管理xm的用法</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2011/06/509.html" title="xen建立虚拟机方法 (2011-06-01)">xen建立虚拟机方法</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2011/06/511.html" title="CentOS5.3下xen虚拟机的配置笔记 (2011-06-02)">CentOS5.3下xen虚拟机的配置笔记</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2009/11/461.html" title="关于ESX的几则文章 (2009-11-27)">关于ESX的几则文章</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2009/11/460.html" title="Windows 7下使用VMware vSphere Client (2009-11-26)">Windows 7下使用VMware vSphere Client</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://skylove.study-area.org/blog/2011/06/512.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>CentOS5.3下xen虚拟机的配置笔记</title>
		<link>http://skylove.study-area.org/blog/2011/06/511.html</link>
		<comments>http://skylove.study-area.org/blog/2011/06/511.html#comments</comments>
		<pubDate>Thu, 02 Jun 2011 08:41:00 +0000</pubDate>
		<dc:creator>天缘(skylove)</dc:creator>
		
		<category><![CDATA[心得分享]]></category>

		<category><![CDATA[xen]]></category>

		<category><![CDATA[虚拟化]]></category>

		<guid isPermaLink="false">http://skylove.study-area.org/blog/?p=511</guid>
		<description><![CDATA[CentOS5.3下xen虚拟机的配置笔记
(本人二次修改）2010-01-12 20:31最近想入手VPS了,赶紧转了一篇使用说明过来,这里就先谢谢作者啦~
以下操作都是ssh远程进行的，首先登陆上你的服务器
好了，不管其他的，先换源，默认源太慢了，我用的163的源，很快的
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.bak
vim CentOS-Base.repo
加入以下内容
[base]
name=CentOS-$releasever – Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&#38;arch=$basearch&#38;repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
gpgcheck=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
#released updates
[updates]
name=CentOS-$releasever – Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&#38;arch=$basearch&#38;repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/
gpgcheck=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
#packages used/produced in the build but not released
[addons]
name=CentOS-$releasever – Addons
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&#38;arch=$basearch&#38;repo=addons
#baseurl=http://mirror.centos.org/centos/$releasever/addons/$basearch/
baseurl=http://mirrors.163.com/centos/$releasever/addons/$basearch/
gpgcheck=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
#additional packages that may be useful
[extras]
name=CentOS-$releasever – Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&#38;arch=$basearch&#38;repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/
gpgcheck=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever – Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&#38;arch=$basearch&#38;repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/
gpgcheck=0
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
ok，先更新吧
yum update
然后安装xen以及xen内核
yum install xen kernel-xen
然后修改启动文件使用xen内核启动
vi /etc/grub.conf
将文件中的default改为0，然后reboot重启机器
这样xen就装好了，我是懒人，不想自己装系统，直接下载一个centos的xen镜像好了
http://mirrors.esited.com/stacklet/
各种操作系统的XEN镜像
http://mirrors.esited.com/stacklet/centos/centos.5-4.x86.20091105.img.tar.bz2
wget http://mirrors.esited.com/stacklet/centos/centos.5-3.x86-64.20090606.img.tar.bz2
tar jxf centos.5-3.x86-64.20090606.img.tar.bz2
mkdir /data/mv/xen01/ -p
cp centos.5-3.x86-64.img /data/mv/xen01/centos01.img
cp centos.5-3.x86-64.xen3.pygrub.cfg /data/mv/xen01/xen01.cfg
cp centos.5-4.x86.img /data/mv/xen01/centos01.img
cp centos.5-4.x86.xen3.cfg /data/mv/xen01/xen01.cfg
现在创建一个swap交换扇区给虚拟机用，我创建了个512M的
dd if=/dev/zero [...]]]></description>
			<content:encoded><![CDATA[<p>CentOS5.3下xen虚拟机的配置笔记<br />
(本人二次修改）2010-01-12 20:31最近想入手VPS了,赶紧转了一篇使用说明过来,这里就先谢谢作者啦~</p>
<p>以下操作都是ssh远程进行的，首先登陆上你的服务器<br />
好了，不管其他的，先换源，默认源太慢了，我用的163的源，很快的</p>
<p>cd /etc/yum.repos.d/<br />
mv CentOS-Base.repo CentOS-Base.repo.bak<br />
vim CentOS-Base.repo</p>
<p>加入以下内容</p>
<p>[base]<br />
name=CentOS-$releasever – Base<br />
#mirrorlist=<a href="http://mirrorlist.centos.org/?release=">http://mirrorlist.centos.org/?release=</a>$releasever&amp;arch=$basearch&amp;repo=os<br />
#baseurl=<a href="http://mirror.centos.org/centos/">http://mirror.centos.org/centos/</a>$releasever/os/$basearch/<br />
baseurl=<a href="http://mirrors.163.com/centos/">http://mirrors.163.com/centos/</a>$releasever/os/$basearch/<br />
gpgcheck=0<br />
gpgkey=<a href="http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5">http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5</a><br />
#released updates</p>
<p>[updates]<br />
name=CentOS-$releasever – Updates<br />
#mirrorlist=<a href="http://mirrorlist.centos.org/?release=">http://mirrorlist.centos.org/?release=</a>$releasever&amp;arch=$basearch&amp;repo=updates<br />
#baseurl=<a href="http://mirror.centos.org/centos/">http://mirror.centos.org/centos/</a>$releasever/updates/$basearch/<br />
baseurl=<a href="http://mirrors.163.com/centos/">http://mirrors.163.com/centos/</a>$releasever/updates/$basearch/<br />
gpgcheck=0<br />
gpgkey=<a href="http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5">http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5</a><br />
#packages used/produced in the build but not released<br />
[addons]<br />
name=CentOS-$releasever – Addons<br />
#mirrorlist=<a href="http://mirrorlist.centos.org/?release=">http://mirrorlist.centos.org/?release=</a>$releasever&amp;arch=$basearch&amp;repo=addons<br />
#baseurl=<a href="http://mirror.centos.org/centos/">http://mirror.centos.org/centos/</a>$releasever/addons/$basearch/<br />
baseurl=<a href="http://mirrors.163.com/centos/">http://mirrors.163.com/centos/</a>$releasever/addons/$basearch/<br />
gpgcheck=0<br />
gpgkey=<a href="http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5">http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5</a><br />
#additional packages that may be useful<br />
[extras]<br />
name=CentOS-$releasever – Extras<br />
#mirrorlist=<a href="http://mirrorlist.centos.org/?release=">http://mirrorlist.centos.org/?release=</a>$releasever&amp;arch=$basearch&amp;repo=extras<br />
#baseurl=<a href="http://mirror.centos.org/centos/">http://mirror.centos.org/centos/</a>$releasever/extras/$basearch/<br />
baseurl=<a href="http://mirrors.163.com/centos/">http://mirrors.163.com/centos/</a>$releasever/extras/$basearch/<br />
gpgcheck=0<br />
gpgkey=<a href="http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5">http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5</a><br />
#additional packages that extend functionality of existing packages<br />
[centosplus]<br />
name=CentOS-$releasever – Plus<br />
#mirrorlist=<a href="http://mirrorlist.centos.org/?release=">http://mirrorlist.centos.org/?release=</a>$releasever&amp;arch=$basearch&amp;repo=centosplus<br />
#baseurl=<a href="http://mirror.centos.org/centos/">http://mirror.centos.org/centos/</a>$releasever/centosplus/$basearch/<br />
baseurl=<a href="http://mirrors.163.com/centos/">http://mirrors.163.com/centos/</a>$releasever/centosplus/$basearch/<br />
gpgcheck=0<br />
enabled=0<br />
gpgkey=<a href="http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5">http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5</a></p>
<p>ok，先更新吧</p>
<p>yum update</p>
<p>然后安装xen以及xen内核</p>
<p>yum install xen kernel-xen</p>
<p>然后修改启动文件使用xen内核启动</p>
<p>vi /etc/grub.conf</p>
<p>将文件中的default改为0，然后reboot重启机器</p>
<p>这样xen就装好了，我是懒人，不想自己装系统，直接下载一个centos的xen镜像好了</p>
<p><a href="http://mirrors.esited.com/stacklet/">http://mirrors.esited.com/stacklet/</a></p>
<p>各种操作系统的XEN镜像</p>
<p><a href="http://mirrors.esited.com/stacklet/centos/centos.5-4.x86.20091105.img.tar.bz2">http://mirrors.esited.com/stacklet/centos/centos.5-4.x86.20091105.img.tar.bz2</a></p>
<p>wget <a href="http://mirrors.esited.com/stacklet/centos/centos.5-3.x86-64.20090606.img.tar.bz2">http://mirrors.esited.com/stacklet/centos/centos.5-3.x86-64.20090606.img.tar.bz2</a><br />
tar jxf centos.5-3.x86-64.20090606.img.tar.bz2<br />
mkdir /data/mv/xen01/ -p<br />
cp centos.5-3.x86-64.img /data/mv/xen01/centos01.img<br />
cp centos.5-3.x86-64.xen3.pygrub.cfg /data/mv/xen01/xen01.cfg</p>
<p>cp centos.5-4.x86.img /data/mv/xen01/centos01.img<br />
cp centos.5-4.x86.xen3.cfg /data/mv/xen01/xen01.cfg</p>
<p>现在创建一个swap交换扇区给虚拟机用，我创建了个512M的</p>
<p>dd if=/dev/zero of=swap.img bs=1M count=1 seek=512<br />
mkswap swap.img</p>
<p>修改配置文件加入swap镜像</p>
<p>vi xen01.cfg<br />
bootloader = “/usr/bin/pygrub”<br />
memory = 512<br />
name = “centos01″<br />
vif = [ '' ]<br />
disk = ['file:/data/mv/xen01/centos01.img,sda1,w','file:/data/mv/xen01/swap.img,sda2,w']<br />
root = “/dev/sda1″<br />
extra = “fastboot”</p>
<p>配置文件很简单，memory就是给虚拟机设定的内存大小，因为我的xen版本还是老的3.0.3，所以disk这里还是以file:开始的，新的版本就不是这样的了<br />
好了，现在启动吧</p>
<p>xm create -c xen01.cfg</p>
<p>默认的用户名密码是：root/password<br />
现在你应该可以进入系统了，默认应该是没有加入swap的，我们来给他加上，虚拟机默认应该没有vi，那就用nano好了</p>
<p>nano /etc/fstab</p>
<p>在最上面加上这样一行</p>
<p>/dev/sda2 swap swap defaults,noatime 0 0</p>
<p>重启虚拟机就行了，free看看，是不是已经有swap了？<br />
现在我们来配置一下网络，我这里的情况是这样的：<br />
4个ip，2个电信，2个网通，主机有2张网卡，eth0绑定1个电信，eth1绑定了1个网通，现在剩下2个ip可以分配<br />
在主机brctl show查看现有的网络桥，看看是否有xenbr0或xenbr1，这里的xenbr0默认应该是和eth0绑定，xenbr1则绑定的eth1<br />
如果两个都没有，那么手动来创建</p>
<p>/etc/xen/scripts/network-bridge start bridge=xenbr0 netdev=eth0 vifnum=0<br />
/etc/xen/scripts/network-bridge start bridge=xenbr1 netdev=eth1 vifnum=1</p>
<p>进入虚拟机，ifconfig先记录下虚拟机的mac地址，然后编辑你的虚拟机的配置文件</p>
<p>00:16:3E:16:80:3A</p>
<p>vi xen01.cfg<br />
bootloader = “/usr/bin/pygrub”<br />
memory = 512<br />
name = “centos01″<br />
vif = [ 'mac=00:16:3E:xx:xx:xx,bridge=xenbr0,ip=61.160.xx.xx' ]<br />
dhcp = “off”<br />
disk = ['file:/data/mv/xen02/centos.img,sda1,w','file:/data/mv/xen02/swap.img,sda2,w']<br />
root = “/dev/sda1″<br />
extra = “fastboot”</p>
<p>这里，我设定的bridge使用的是主机绑电信ip的网卡，那么虚拟机的ip也必须是电信的ip，否则将不能使用<br />
关闭你的虚拟机，然后再启动，进入虚拟机进行剩下的设定<br />
首先编辑网络配置文件</p>
<p>nano /etc/sysconfig/network-scripts/ifcfg-eth0<br />
GATEWAY=61.160.x.x<br />
TYPE=Ethernet<br />
DEVICE=eth0<br />
HWADDR=00:16:3E:xx:xx:xx<br />
BOOTPROTO=none<br />
NETMASK=255.255.255.x<br />
IPADDR=61.160.xx.xx<br />
ONBOOT=yes<br />
USERCTL=no<br />
IPV6INIT=yes<br />
PEERDNS=yes</p>
<p>这里的相关设置除了HWADDR和IPADDR，其他的直接复制主机的eth0配置即可<br />
然后编辑/etc/resolv.conf 加入nameserver 211.x.x.x，或者修改现有的，这是dns，也用主机的就行了<br />
重启网卡，基本上这虚拟机就配置好了</p>
<p>/etc/init.d/network restart</p>
<p>网通机器类似，不过网通的配置文件需要bridge=xenbr1<br />
默认的镜像文件只有1G，系统占用了不到500M，这肯定是不够用的，那么我们得给这镜像文件加点空间<br />
加多少好呢？现加4G吧，一共5G也差不多够用了。首先关闭你的虚拟机，然后才能加</p>
<p>dd if=/dev/zero of=/tmp/temp_expand bs=1M count=1 seek=4069<br />
cat /tmp/temp_expand &gt;&gt; /data/mv/xen01/centos01.img<br />
resize2fs centos01.img（这里可以提示要先RUN个啥命令如：Please run ‘e2fsck -f centos01.img’ first.，照提示做就行了）</p>
<p>ok了，现在启动虚拟机，进去以后df -h看看，是不是已经变成5G了。</p>
<p>—————————————————————-</p>
<p>5.2 Xen服务器的启动；</p>
<p>xend服务器的启动/停止/重启/状态查询，请用下面的命令；</p>
<p>[root@localhost ~]# /etc/init.d/xend start 启动xend，如果 xend没有运行）<br />
[root@localhost ~]# /etc/init.d/xend stop 停止xend，如果xend正在运行）<br />
[root@localhost ~]# /etc/init.d/xend restart 重启正在运行的 xend，如果xend没有运行，则启动<br />
[root@localhost ~]# /etc/init.d/xend status 查看xend状态</p>
<p>启动xendomains 服务器的启动/停止/重启/状态查询，请用下面的命令；一般的情况下，xend服务器启动了，xendomains也会自动启动。所以这个只是掌握一下就行了；</p>
<p>[root@localhost ~]# /etc/init.d/xend start 启动xend，如果 xend没有运行）<br />
[root@localhost ~]# /etc/init.d/xend stop 停止xend，如果xend正在运行）<br />
[root@localhost ~]# /etc/init.d/xend restart 重启正在运行的 xend，如果xend没有运行，则启动<br />
[root@localhost ~]# /etc/init.d/xend status 查看xend状态</p>
<p>[root@localhost ~]# /etc/init.d/xendomains start<br />
[root@localhost ~]# /etc/init.d/xendomains stop<br />
[root@localhost ~]# /etc/init.d/xendomains restart<br />
[root@localhost ~]# /etc/init.d/xendomains status</p>
<p>5.3 Xen 管理工具xm；</p>
<p>我们前面提到Xen的可执行命令中，我们可能看到了一些以xen开头的命令，您不妨尝试一个一个的尝试一下他们是做什么用的；比如xend是服务器的开启运行命令 … ….</p>
<p>其中xm命令，就是管理Xen的最基本的工具；您可以通过xm –help 来获得帮助；</p>
<p>5.31 列出所有正在运行的虚拟操作系统；</p>
<p>[root@localhost ~]# /usr/sbin/xm list</p>
<p>Name ID Mem(MiB) VCPUs State Time(s)<br />
Domain-0 0 450 1 r—– 5377.0<br />
fc5 4 256 1 -b—- 0.1</p>
<p>列出所有正在运行的虚拟系统（也可以称为虚拟机）；我们可以看到，一个名为Domain-0的系统正在运行。Domain-0就是Xen本身，也可以称为虚拟平台内存大小，而Domain-0负责提供其它虚拟操作系统的硬件环境，其它的系统都是基于Domain-0开始的，我们看到他的ID为0就应该知道它的权限是至高无尚的。所占用的内存是450M，不过这个是可以指定的。 虚拟的CPU个数是1个，运行状态处于r，也就是run，正在运行中；运行时间是5377秒；</p>
<p>还有一个虚拟系统fc5，他的id是4，占用内存256M，虚拟CPU个数是1个 … …</p>
<p>5.32 通过配置文件来引导被虚拟的操作系统；</p>
<p>[root@localhost ~]# /usr/sbin/xm create -c 虚拟操作系统的启动配置文件</p>
<p>比如我们要启动被虚拟的操作系统Fedora Core 5.0 ，我们要写一个启动Fedora的配置文件，比如是fc5vm.cfg。然后就可以通过下面的命令来引导Fedora了；</p>
<p>[root@localhost ~]# /usr/sbin/xm create -c fc5vm.cfg</p>
<p>5.33 从终端或控制台登录正在运行的虚拟操作系统；</p>
<p>[root@localhost ~]# /usr/sbin/xm console 正在运行的虚拟操作系统的Name或ID；</p>
<p>举例：</p>
<p>[root@localhost ~]# /usr/sbin/xm list<br />
Name ID Mem(MiB) VCPUs State Time(s)<br />
Domain-0 0 512 1 r—– 5561.9<br />
fc5 4 256 1 -b—- 0.2</p>
<p>[root@localhost ~]# /usr/sbin/xm console fc5</p>
<p>5.34 存储正在运行的虚拟操作系统的状态及唤醒虚拟操作系统；</p>
<p>[root@localhost ~]# /usr/sbin/xm save<br />
[root@localhost ~]# /usr/sbin/xm restore</p>
<p>举例：</p>
<p>[root@localhost ~]# /usr/sbin/xm list<br />
Name ID Mem(MiB) VCPUs State Time(s)<br />
Domain-0 0 458 1 r—– 260.3<br />
fc5 2 256 1 —— 6.5</p>
<p>[root@localhost ~]# /usr/sbin/xm save 2 fc5run.save<br />
[root@localhost ~]# /usr/sbin/xm restore fc5run.save<br />
[root@localhost ~]# /usr/sbin/xm console fc5</p>
<p>5.35 停止正在运行的虚拟操作系统/激活停止的虚拟操作系统</p>
<p>[root@localhost ~]# /usr/sbin/xm pause<br />
[root@localhost ~]# /usr/sbin/xm unpause</p>
<p>举例：</p>
<p>[root@localhost ~]# /usr/sbin/xm list</p>
<p>Name ID Mem(MiB) VCPUs State Time(s)<br />
Domain-0 0 458 1 r—– 260.3<br />
fc5 2 256 1 —— 6.5</p>
<p>[root@localhost ~]# /usr/sbin/xm pause 2<br />
[root@localhost ~]# /usr/sbin/xm unpause 2</p>
<p>5.36 调整虚拟平台/虚拟操作系统的占用内存</p>
<p>我们可以调整正在运行中的虚拟平台(Domain-0)所占内存大小及虚拟操作系统所占用的内存大小；</p>
<p>[root@localhost ~]# /usr/sbin/xm mem-set</p>
<p>举例：</p>
<p>[root@localhost ~]# /usr/sbin/xm list</p>
<p>Name ID Mem(MiB) VCPUs State Time(s)<br />
Domain-0 0 458 1 r—– 260.3<br />
fc5 2 256 1 —— 6.5</p>
<p>[root@localhost ~]# /usr/sbin/xm mem-set 2 128</p>
<p>5.37 关闭被虚拟的系统</p>
<p>[root@localhost ~]# /usr/sbin/xm shutdown 虚拟操作系统的Name或DomID<br />
[root@localhost ~]# /usr/sbin/xm destroy 立即停止虚拟的系统 （重要）;</p>
<p>举例：</p>
<p>[root@localhost ~]# /usr/sbin/xm list</p>
<p>Name ID Mem(MiB) VCPUs State Time(s)<br />
Domain-0 0 458 1 r—– 260.3<br />
fc5 2 256 1 —— 6.5</p>
<p>[root@localhost ~]# /usr/sbin/xm shutdown fc5<br />
或<br />
[root@localhost ~]# /usr/sbin/xm shutdown 2<br />
或<br />
[root@localhost ~]# /usr/sbin/xm destroy 2</p>
<p>5.38 调整虚拟平台及虚拟操作系统的虚拟CPU个数；</p>
<p>[root@localhost ~]# /usr/sbin/xm vcpu-set</p>
<p>举例：</p>
<p>[root@localhost ~]# /usr/sbin/xm list</p>
<p>Name ID Mem(MiB) VCPUs State Time(s)<br />
Domain-0 0 458 1 r—– 260.3<br />
fc5 2 256 1 —— 6.5</p>
<p>[root@localhost ~]# /usr/sbin/xm vcpu-set 2 4</p>
<p>5.39 查看虚拟系统运行的状态；</p>
<p>[root@localhost ~]# xm top<br />
或<br />
XEN中安装Linux虚拟机 （半虚拟化）</p>
<p>感谢脱壳蜗牛小高，Q_Q~!</p>
<p>xen同linux是一个完美的组合，是目前linux上的最佳的虚拟化解决方案，特别适合于服务器应用，如用于将多个服务器合并到一台物理服务器上，以节省运营成本（机房空间、电力消耗）；或者是出于安全角度的考虑，需要将不同的应用进行分区，以便降低安全风险等。</p>
<p>环 境:VMware 6.0安装虚拟机CentOS5.2,在CentOS5.2中安装XEN，在XEN中安装虚拟机CentOS5 .2。</p>
<p>CPU:Intel E2160 (不支持VT)要虚拟WindowsXP必须CPU支持VT才行。</p>
<p>宿主机: CentOS 5/RHEL 5(cdrom加载CentOS5 iso镜像)</p>
<p>关闭SElinux和iptables。</p>
<p>XEN虚拟机:CentOS 5/RHEL 5</p>
<p>1&gt;首先在VM6中建立虚拟机,添加2块磁盘，一块安装宿主机，一块预留安装XEN虚拟机。</p>
<p>2&gt;在宿主机中YUM安装xen包和vsftp包。<br />
[root@localhost ~]# yum -y install xen<br />
[root@localhost ~]# yum -y install vsftpd.i386</p>
<p>3&gt;修改GRUB配置文件，将XEN内核启动改成默认，这样不用手动选择启动项了。<br />
[root@localhost ~]# vi /boot/grub/grub.conf<br />
将 default=1 值改为 0</p>
<p>4&gt;用xm list 命令查看Domain是否已经启动。<br />
[root@localhost ~]# xm list<br />
Name ID Mem(MiB) VCPUs State Time(s)<br />
Domain-0 0 778 1 r—– 85.4</p>
<p>5&gt;将cdrom挂载到FTP目录，将ftp匿名用户开启。<br />
[root@localhost ~]# mount /dev/cdrom /var/ftp/pub/<br />
mount: block device /dev/cdrom is write-protected, mounting read-only</p>
<p>6&gt;用xm命令行建立虚拟机<br />
[root@localhost ~]# virt-install<br />
What is the name of your virtual machine?vm1 #虚拟机的名字vm1<br />
How much RAM should be allocated (in megabytes)? 400 #为虚拟机分配内存400M 最低256M<br />
What would you like to use as the disk (file path)? /dev/sdb1 #sdb为第二块硬盘<br />
Would you like to enable graphics support? (yes or no) no #不启用图形化支持<br />
What is the install location? <a href="ftp://192.168.10.1/pub/">ftp://192.168.10.1/pub/</a> #填上本机FTP地址，前提是CDROM已经挂载到这个FTP目录，并开启了匿名用户。</p>
<p>可以看到安装文件内核已经开始启动！<br />
Starting install…<br />
Retrieving file .treeinfo… 0 B 00:00<br />
Retrieving file vmlinuz.. 100% |=========================| 2.0 MB 00:00<br />
Retrieving file initrd.im 100% |=========================| 5.0 MB 00:00</p>
<p>接下来安装过程就不用我说了吧，TEXT模式的。<br />
7&gt;xen 一些常用的管理命令<br />
xm list ：列出Domain 。<br />
xm console Domain-ID ：连接一个虚拟机，可以为虚拟机名称或者是ID号。<br />
xm create ：建立一个 Domain-U 的虚拟机，-C 选项为创建并连接虚拟机。<br />
xm reboot Domain-ID ：重启一台虚拟机。<br />
xm save Domain-ID：存储虚拟机的状态。<br />
xm restore Domain-ID：还原虚拟机状态。<br />
……</p>
<p>虚拟机和宿主机之间的切换用ctrl+] 即可。</p>

	标签：<a href="http://skylove.study-area.org/blog/tag/xen" title="xen" rel="tag nofollow">xen</a>, <a href="http://skylove.study-area.org/blog/tag/%e8%99%9a%e6%8b%9f%e5%8c%96" title="虚拟化" rel="tag nofollow">虚拟化</a><br />

	<h4>相关日志</h4>
	<ul class="st-related-posts">
	<li><a href="http://skylove.study-area.org/blog/2011/06/514.html" title="如何快速创建 Xen 虚拟机镜像 (2011-06-02)">如何快速创建 Xen 虚拟机镜像</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2011/06/512.html" title="伪技术人员的成长历程之70－Xen虚拟机下添加Swap磁盘 (2011-06-02)">伪技术人员的成长历程之70－Xen虚拟机下添加Swap磁盘</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2011/06/510.html" title="xen虚拟机管理xm的用法 (2011-06-01)">xen虚拟机管理xm的用法</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2011/06/509.html" title="xen建立虚拟机方法 (2011-06-01)">xen建立虚拟机方法</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2009/11/461.html" title="关于ESX的几则文章 (2009-11-27)">关于ESX的几则文章</a> (0)</li>
	<li><a href="http://skylove.study-area.org/blog/2009/11/460.html" title="Windows 7下使用VMware vSphere Client (2009-11-26)">Windows 7下使用VMware vSphere Client</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://skylove.study-area.org/blog/2011/06/511.html/feed</wfw:commentRss>
		</item>
	</channel>
</rss>

