<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>
<channel>
	<title>开源小站 &#187; 服务器</title>
	<atom:link href="http://www.litrin.net/tag/server/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.litrin.net</link>
	<description>It is Cool to OpenSource</description>
	<lastBuildDate>Fri, 23 Jul 2010 02:29:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=1773</generator>
		<item>
		<title>SQLServer的聚合索引问题</title>
		<link>http://www.litrin.net/2010/07/05/sqlserver%e7%9a%84%e8%81%9a%e5%90%88%e7%b4%a2%e5%bc%95%e9%97%ae%e9%a2%98/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=sqlserver%25e7%259a%2584%25e8%2581%259a%25e5%2590%2588%25e7%25b4%25a2%25e5%25bc%2595%25e9%2597%25ae%25e9%25a2%2598</link>
		<comments>http://www.litrin.net/2010/07/05/sqlserver%e7%9a%84%e8%81%9a%e5%90%88%e7%b4%a2%e5%bc%95%e9%97%ae%e9%a2%98/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 06:08:45 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[数据库应用]]></category>
		<category><![CDATA[硬件相关]]></category>
		<category><![CDATA[DataBase]]></category>
		<category><![CDATA[服务器]]></category>
		<guid isPermaLink="false">http://www.litrin.net/?p=1272</guid>
		<description><![CDATA[<!-- Easy AdSense V6.64 -->
<!-- Post[count: 3] -->
<div class="ezAdsense adsense adsense-leadin" style="float:right;margin:12px;" ><script type="text/javascript"><!--
google_ad_client = "pub-9603680922905816";
/* 250x250, 创建于 10-4-29 */
google_ad_slot = "3814271827";
google_ad_width = 250;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div> 有台SqlServer2000的主机，主要是用来纪录日志的。系统配置属于双核+2G，不算很高，目前数据文件大约在2G左右。高峰时每分钟100次写入左右。 这些天，系统在部分时间（不一定是高峰期），会出现大量的堵塞。堵塞每次持续时间最多5分钟，之后要么自己恢复，要么系统IO吃光。已经排除了病毒或者网络的问题。 利用sqlserver自带的“事件探查器”发觉大多数的阻塞都是跟其中的一个表有关。这个表数据有3M行的数据，并建立了聚合索引。 反复优化索引，系统没有起色。狠心删除了主键的聚合索引，问题竟奇迹般的解决了！ 将聚合索引索引转为非聚合索引之后，系统再也没有出现故障。 分析下来大致如此： 系统纪录的日志文件是以时间倒序为聚合索引，但由于日志的记入方式决定了数据的纪录方式并非按照顺序。即会出现新纪录比旧纪录先写入的情况。 3百万行的数据大约有500~700M的磁盘空间占用，按照聚合索引占整体数据大小的30%来计，索引大小大约为200M左右。 由于聚合索引是按照固定的顺序纪录，出现乱序的数据写入，sqlserver就必须重建聚合索引，每次都要重新生成这200M。 200M的数据需要相当长的时间，在此期间如果再有数据记入，行锁就上升为表锁，故出现系统阻塞。而之前一直没有出现问题，只不过是由于数据小，而索引生成的很快罢了。 所以建议聚合索引的使用前请确认在大数据的情况下务必保证新加的数据都在文件的末尾，这样系统就不会因为频繁的重建索引而造成数据阻塞或者IO的浪费。]]></description>
			<content:encoded><![CDATA[<p> 有台SqlServer2000的主机，主要是用来纪录日志的。系统配置属于双核+2G，不算很高，目前数据文件大约在2G左右。高峰时每分钟100次写入左右。</p>
<p>这些天，系统在部分时间（不一定是高峰期），会出现大量的堵塞。堵塞每次持续时间最多5分钟，之后要么自己恢复，要么系统IO吃光。已经排除了病毒或者网络的问题。<br />
<span id="more-1272"></span></p>
<p>利用sqlserver自带的“事件探查器”发觉大多数的阻塞都是跟其中的一个表有关。这个表数据有3M行的数据，并建立了聚合索引。<br />
反复优化索引，系统没有起色。狠心删除了主键的聚合索引，问题竟奇迹般的解决了！<br />
将聚合索引索引转为非聚合索引之后，系统再也没有出现故障。</p>
<p>分析下来大致如此：</p>
<ol>
<li>系统纪录的日志文件是以时间倒序为聚合索引，但由于日志的记入方式决定了数据的纪录方式并非按照顺序。即会出现新纪录比旧纪录先写入的情况。</li>
<li>3百万行的数据大约有500~700M的磁盘空间占用，按照聚合索引占整体数据大小的30%来计，索引大小大约为200M左右。</li>
<li>由于聚合索引是按照固定的顺序纪录，出现乱序的数据写入，sqlserver就必须重建聚合索引，每次都要重新生成这200M。</li>
<li>200M的数据需要相当长的时间，在此期间如果再有数据记入，行锁就上升为表锁，故出现系统阻塞。而之前一直没有出现问题，只不过是由于数据小，而索引生成的很快罢了。</li>
</ol>
<p>所以建议聚合索引的使用前请确认在大数据的情况下务必保证新加的数据都在文件的末尾，这样系统就不会因为频繁的重建索引而造成数据阻塞或者IO的浪费。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2010/07/05/sqlserver%e7%9a%84%e8%81%9a%e5%90%88%e7%b4%a2%e5%bc%95%e9%97%ae%e9%a2%98/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WordPress google-syntax-highlighter 插件的问题</title>
		<link>http://www.litrin.net/2010/06/12/wordpress-google-syntax-highlighter-%e6%8f%92%e4%bb%b6%e7%9a%84%e9%97%ae%e9%a2%98/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=wordpress-google-syntax-highlighter-%25e6%258f%2592%25e4%25bb%25b6%25e7%259a%2584%25e9%2597%25ae%25e9%25a2%2598</link>
		<comments>http://www.litrin.net/2010/06/12/wordpress-google-syntax-highlighter-%e6%8f%92%e4%bb%b6%e7%9a%84%e9%97%ae%e9%a2%98/#comments</comments>
		<pubDate>Sat, 12 Jun 2010 09:16:08 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[www]]></category>
		<category><![CDATA[站长的blog]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[服务器]]></category>
		<guid isPermaLink="false">/?p=1251</guid>
		<description><![CDATA[小站上一直使用Google Syntax Highlighter for WordPress 插件实现代码高亮，就在上一篇文章发布之后，我发现了这个插件中存在的一个bug：windows + IE 8无法正常加亮python代码。 查阅了官方网站，发掘Google Syntax Highlighter for WordPress插件用的1.5版已经停止更新，只能使用2.0以上的版本，但2.0版本和之前的版本又存在兼容的问题，直接替换是不行的。不想每篇文章的修改&#60;pre&#62;标记，那就改插件喽。 下载最新版本的Syntax Highlighter，解压。 将原来/wp-content/plugins/google-syntax-highlighter目录下的Scripts和Styles目录清空后，分别用新版本的对应路径中的文件替换，注意大小写方式请不要变动。 修改google_syntax_highlighter.php文件，我用了minify的插件，这里就直接调用了。 &#60;?php function insert_header() {  $current_path = get_option('siteurl') .'/wp-content/plugins/' . basename(dirname(__FILE__)) .'/';  ?&#62;  &#60;link href="&#60;?php echo $current_path; ?&#62;Styles/shCore.css" type="text/css" rel="stylesheet" /&#62;  //可根据自己的需要选择不同的Styles &#60;link href="&#60;?php echo $current_path; ?&#62;Styles/shThemeEclipse.css" type="text/css" rel="stylesheet" /&#62;  &#60;?php } function insert_footer(){ $current_path = 'wp-content/plugins/' . [...]]]></description>
			<content:encoded><![CDATA[<p>小站上一直使用Google Syntax Highlighter for WordPress 插件实现代码高亮，就在上一篇文章发布之后，我发现了这个插件中存在的一个bug：windows + IE 8无法正常加亮python代码。</p>
<p>查阅了官方网站，发掘Google Syntax Highlighter for WordPress插件用的1.5版已经停止更新，只能使用2.0以上的版本，但2.0版本和之前的版本又存在兼容的问题，直接替换是不行的。不想每篇文章的修改&lt;pre&gt;标记，那就改插件喽。</p>
<p><span id="more-1251"></span></p>
<ol>
<li>下载<a rel="nofollow" target="_blank" href="http://alexgorbatchev.com/downloads/grab.php?name=sh" target="_blank">最新版本的Syntax Highlighter</a>，解压。</li>
<li>将原来/wp-content/plugins/google-syntax-highlighter目录下的Scripts和Styles目录清空后，分别用新版本的对应路径中的文件替换，注意大小写方式请不要变动。</li>
<li>修改google_syntax_highlighter.php文件，我用了minify的插件，这里就直接调用了。</li>
</ol>
<pre class="php" name='code'>&lt;?php
function insert_header() {
 $current_path = get_option('siteurl') .'/wp-content/plugins/' . basename(dirname(__FILE__)) .'/';
 ?&gt;
 &lt;link href="&lt;?php echo $current_path; ?&gt;Styles/shCore.css" type="text/css" rel="stylesheet" /&gt;
 //可根据自己的需要选择不同的Styles
 &lt;link href="&lt;?php echo $current_path; ?&gt;Styles/shThemeEclipse.css" type="text/css" rel="stylesheet" /&gt;
 &lt;?php
}
function insert_footer(){
$current_path = 'wp-content/plugins/' . basename(dirname(__FILE__)) .'/';
 ?&gt;
&lt;?php
/*
&lt;script src="&lt;?php echo $current_path; ?&gt;Scripts/shCore.js"&gt;&lt;/script&gt;
&lt;script src="&lt;?php echo $current_path; ?&gt;Scripts/shLegacy.js"&gt;&lt;/script&gt;
&lt;script src="&lt;?php echo $current_path; ?&gt;Scripts/shBrushCSharp.js"&gt;&lt;/script&gt;
&lt;script src="&lt;?php echo $current_path; ?&gt;Scripts/shBrushPhp.js"&gt;&lt;/script&gt;
&lt;script src="&lt;?php echo $current_path; ?&gt;Scripts/shBrushJScript.js"&gt;&lt;/script&gt;
&lt;script src="&lt;?php echo $current_path; ?&gt;Scripts/shBrushJava.js"&gt;&lt;/script&gt;
&lt;script src="&lt;?php echo $current_path; ?&gt;Scripts/shBrushVb.js"&gt;&lt;/script&gt;
&lt;script src="&lt;?php echo $current_path; ?&gt;Scripts/shBrushSql.js"&gt;&lt;/script&gt;
&lt;script src="&lt;?php echo $current_path; ?&gt;Scripts/shBrushXml.js"&gt;&lt;/script&gt;
&lt;script src="&lt;?php echo $current_path; ?&gt;Scripts/shBrushDelphi.js"&gt;&lt;/script&gt;
&lt;script src="&lt;?php echo $current_path; ?&gt;Scripts/shBrushPython.js"&gt;&lt;/script&gt;
&lt;script src="&lt;?php echo $current_path; ?&gt;Scripts/shBrushRuby.js"&gt;&lt;/script&gt;
&lt;script src="&lt;?php echo $current_path; ?&gt;Scripts/shBrushCss.js"&gt;&lt;/script&gt;
&lt;script src="&lt;?php echo $current_path; ?&gt;Scripts/shBrushCpp.js"&gt;&lt;/script&gt;
*/
&lt;script src="/wp-content/plugins/wp-minify/min/?b=&lt;?php echo $current_path; ?&gt;Scripts&amp;f=shCore.js,shLegacy.js,shBrushPhp.js,shBrushSql.js,shBrushPython.js"&gt;&lt;/script&gt;
&lt;script&gt;
dp.SyntaxHighlighter.ClipboardSwf = '&lt;?php echo $current_path; ?&gt;Scripts/clipboard.swf';
SyntaxHighlighter.all();
dp.SyntaxHighlighter.HighlightAll('code');
&lt;/script&gt;
&lt;?php
}
add_action('wp_head','insert_header');
add_action('wp_footer','insert_footer');
?&gt;</pre>
<p>测试，通过！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2010/06/12/wordpress-google-syntax-highlighter-%e6%8f%92%e4%bb%b6%e7%9a%84%e9%97%ae%e9%a2%98/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GAE的数据导入问题</title>
		<link>http://www.litrin.net/2010/05/26/gae%e7%9a%84%e6%95%b0%e6%8d%ae%e5%af%bc%e5%85%a5%e9%97%ae%e9%a2%98/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=gae%25e7%259a%2584%25e6%2595%25b0%25e6%258d%25ae%25e5%25af%25bc%25e5%2585%25a5%25e9%2597%25ae%25e9%25a2%2598</link>
		<comments>http://www.litrin.net/2010/05/26/gae%e7%9a%84%e6%95%b0%e6%8d%ae%e5%af%bc%e5%85%a5%e9%97%ae%e9%a2%98/#comments</comments>
		<pubDate>Wed, 26 May 2010 01:58:28 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[www]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[服务器]]></category>
		<guid isPermaLink="false">/?p=1242</guid>
		<description><![CDATA[又是关于Google App Engine的问题。 根据GAE的官方文档，向GAE的存储区导入数据，导入了数次均出现问题，翻来覆去的无法成功。 CVS结构示例：1300428,浙江省嘉兴市,联通130卡 （一个手机号码的对应归属地列表） configfile: from google.appengine.ext import db from google.appengine.tools.bulkloader  import Loader class MobilePhone(db.Model):   Number = db.StringProperty()   Area = db.StringProperty()   BrandType = db.StringProperty() class MPLoader(Loader):   def __init__(self):     Loader.__init__(self, 'MobilePhone',                     [('Number', unicode),                      ('Area', unicode),                      ('BrandType', unicode),                      ]) loaders = [MPLoader] 主要分析了一下，问题分为几类。 1.验证不能通过的问题： 这个问题很多时候是一个低级错误，之前我曾经犯过类似的错误。在app.yaml中的handlers handlers: [...]]]></description>
			<content:encoded><![CDATA[<p>又是关于Google App Engine的问题。<br />
根据<a rel="nofollow" target="_blank" href="http://code.google.com/intl/zh-CN/appengine/docs/python/tools/uploadingdata.html" target="_blank">GAE的官方文档</a>，向GAE的存储区导入数据，导入了数次均出现问题，翻来覆去的无法成功。</p>
<p>CVS结构示例：1300428,浙江省嘉兴市,联通130卡 （一个手机号码的对应归属地列表）</p>
<p>configfile:</p>
<pre class="py" name="code" >
from google.appengine.ext import db
from google.appengine.tools.bulkloader  import Loader
class MobilePhone(db.Model):
  Number = db.StringProperty()
  Area = db.StringProperty()
  BrandType = db.StringProperty()
class MPLoader(Loader):
  def __init__(self):
    Loader.__init__(self, 'MobilePhone',
                    [('Number', unicode),
                     ('Area', unicode),
                     ('BrandType', unicode),
                     ])
loaders = [MPLoader]</pre>
<p>主要分析了一下，问题分为几类。</p>
<p><span id="more-1242"></span></p>
<p>1.验证不能通过的问题：</p>
<p>这个问题很多时候是一个低级错误，之前我曾经犯过类似的错误。在app.yaml中的handlers</p>
<p>handlers:<br />
- url: /remote_api<br />
  script: $PYTHON_LIB/google/appengine/ext/remote_api/handler.py<br />
  login: admin<br />
- url: /*<br />
  script: main.py</p>
<p>这个/*的配置必须放在最后。否则所有的访问都会直接匹配main.py自然出现问题。</p>
<p>2.跟编码有关的错误：</p>
<p>这个错误是GAE SDK的一个bug，恐怕对于ASCII系统的用户没什么关系，对于我们UTF-8，GB2312，ASCII已经昏倒的用户来说，这是个严重的问题。</p>
<p>在GAE的安装目录下 google\appengine\tools\bulkloader.py文件中2521行</p>
<pre class="python" name="code">
    for (name, converter), val in zip(self.__properties, values):
      if converter is bool and val.lower() in ('0', 'false', 'no'):
        val = False
      properties[name] = converter(val)</pre>
<p>修改为：</p>
<pre class="python" name="code" >    for (name, converter), val in zip(self.__properties, values):
        if converter is bool and val.lower() in ('0', 'false', 'no'):
            val = False
        if isinstance(val,str) and not isinstance(val, unicode):
            val=unicode(val,'utf-8')
        properties[name] = converter(val)</pre>
<p>系统会将unicode类型的变量转换。</p>
<p>3.对于大容量数据的删除</p>
<p>GAE的限制，一次最多载入1000行的数据，每次最多删除500行数据，这对于像我制作的手机号码归属之类的大数据库是远远不够的，多次删除又会导致500报错，我的方法是使用task queue。<br />
Task Queue在官方的中文文档中没有提及，在英文文档中介绍的也不够详细。个人的理解就是让系统定期的去访问一个页面而已，我的例子：</p>
<pre class="python" name="code">from google.appengine.ext import webapp
from google.appengine.ext.webapp import util
from google.appengine.ext import db
from google.appengine.api.labs import taskqueue
class MobilePhone(db.Model):
    Number = db.StringProperty()
    Area = db.StringProperty()
    BrandType = db.StringProperty()
class Delete(webapp.RequestHandler):
    def get(self):
        q = db.GqlQuery("SELECT * FROM MobilePhone limit 100")
        results = q.fetch(100)
        db.delete(results)
        q = db.GqlQuery("SELECT * FROM MobilePhone limit 100")
        if (q.count() &gt; 0):
            self.addqueue()
        self.response.out.write('Hello world!')
    def addqueue(self):
        taskurl = 'http://ip-and-mp.appspot.com/'
        taskqueue.add( url='/del', params=dict(url=taskurl))
        self.response.out.write('added!')</pre>
<p>每次删除100行，使用默认的default queue，即每秒一次。</p>
<p>4.关于命令行的问题</p>
<p>我按照中文文档的办法始终有问题，添加了&#8211;email=xxxx &#8211;passin的参数才成功。手册已经远远落后了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2010/05/26/gae%e7%9a%84%e6%95%b0%e6%8d%ae%e5%af%bc%e5%85%a5%e9%97%ae%e9%a2%98/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GAE的镜像</title>
		<link>http://www.litrin.net/2010/05/06/gae%e7%9a%84%e9%95%9c%e5%83%8f/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=gae%25e7%259a%2584%25e9%2595%259c%25e5%2583%258f</link>
		<comments>http://www.litrin.net/2010/05/06/gae%e7%9a%84%e9%95%9c%e5%83%8f/#comments</comments>
		<pubDate>Thu, 06 May 2010 05:30:58 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[www]]></category>
		<category><![CDATA[站长的blog]]></category>
		<category><![CDATA[服务器]]></category>
		<guid isPermaLink="false">/?p=1238</guid>
		<description><![CDATA[本想将LAMP中的PHP弄成Python，研究下Zope或者索性的Python CGI。想到目前推Python最起劲的公司正是Google，况且Google的App Engine又是免费资源，顺道着就申请了。 GAE对于很多人来说只不过是当作撑杆来翻墙的。其实不管从哪个方面来说，GAE的理念就是一个搭载了Java或Python页面框架的虚拟主机，而且支持一大堆的扩展（google wave上的机器人）。借助了Microblog，我在GAE上架设了本站的镜像站点。 相对来说Google提供的SDK目前只能说是一个上传工具而已。很多功能，例如Xmpp，数据存储还没有办法完全模拟，只有页面框架和Memcache还算能用。相信google也会不断的加以完善。 说起Microblog，首先是一个不错的CMS系统。但可能是版本较低，加之GAE程序的调试比较麻烦，功能和结构上只能实现简单的blog功能。相比现成的blog空间反而麻烦不少。相信随着逐步的升级，这个系统将成为一个优秀的CMS。 想用Wordpress的导出工具直接生成一个新站，发现此功能还有问题，至少本站无法成功。于是只能顺手写一个扩展实现两地同步，尽管问题也不少。 说起Python，个人觉得是一个效率很高的语言，缺点就是产生这高效率的扩展太多，太混乱，初学起来很迷糊。顺手之后你就会觉得它作为高级语言，可以操纵的资源丰富的惊人。不过在此插一句，python3的转变真是太突兀了，大部分2.6之前的代码都要重新写过，对于GAE的目标环境还是用2.6以下搭建吧。]]></description>
			<content:encoded><![CDATA[<p>本想将LAMP中的PHP弄成Python，研究下Zope或者索性的Python CGI。想到目前推Python最起劲的公司正是Google，况且Google的App Engine又是免费资源，顺道着就申请了。</p>
<p>GAE对于很多人来说只不过是当作撑杆来翻墙的。其实不管从哪个方面来说，GAE的理念就是一个搭载了Java或Python页面框架的虚拟主机，而且支持一大堆的扩展（google wave上的机器人）。借助了Microblog，我在GAE上架设了<a rel="nofollow" target="_blank" href="http://litrinblog.appspot.com" target="_blank">本站的镜像站点</a>。</p>
<p><span id="more-1238"></span></p>
<p>相对来说Google提供的SDK目前只能说是一个上传工具而已。很多功能，例如Xmpp，数据存储还没有办法完全模拟，只有页面框架和Memcache还算能用。相信google也会不断的加以完善。</p>
<p>说起Microblog，首先是一个不错的CMS系统。但可能是版本较低，加之GAE程序的调试比较麻烦，功能和结构上只能实现简单的blog功能。相比现成的blog空间反而麻烦不少。相信随着逐步的升级，这个系统将成为一个优秀的CMS。<br />
想用Wordpress的导出工具直接生成一个新站，发现此功能还有问题，至少本站无法成功。于是只能顺手写一个扩展实现两地同步，尽管问题也不少。</p>
<p>说起Python，个人觉得是一个效率很高的语言，缺点就是产生这高效率的扩展太多，太混乱，初学起来很迷糊。顺手之后你就会觉得它作为高级语言，可以操纵的资源丰富的惊人。不过在此插一句，python3的转变真是太突兀了，大部分2.6之前的代码都要重新写过，对于GAE的目标环境还是用2.6以下搭建吧。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2010/05/06/gae%e7%9a%84%e9%95%9c%e5%83%8f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>再谈谈 Oracle+Sun=?</title>
		<link>http://www.litrin.net/2010/03/31/%e5%86%8d%e8%b0%88%e8%b0%88-oraclesun/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25e5%2586%258d%25e8%25b0%2588%25e8%25b0%2588-oraclesun</link>
		<comments>http://www.litrin.net/2010/03/31/%e5%86%8d%e8%b0%88%e8%b0%88-oraclesun/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 08:06:56 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[开源7788]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[solaris]]></category>
		<category><![CDATA[业界话题]]></category>
		<category><![CDATA[服务器]]></category>
		<guid isPermaLink="false">http://www.litrin.net/?p=1208</guid>
		<description><![CDATA[上次写过几篇东西，关于Oracle收购Sun的。Oracle+Sun=? , Sun的身前身后事。 如今尘埃落定，www.sun.com 也已经被重定向到了www.oracle.com 。至少局外人看来，两家公司已经合并，而且至少不是失败的。 也就是在今天，得知oracle放出消息：今后Solaris不再免费提供，下载版本只提供90天的试用。如果使用，请买授权！ 从个人角度上来说，我当然希望是提前一天庆祝了明天的节日。但事实上这并非是空穴来风。 Sun是一家技术公司，需要推广自己的产品。免费派送操作系统提升Sun硬件产品、Java，这种方式是明智的选择。但相对比较商业化一点的Oracle则认为Solaris只是一个众多产品线上其中的一环，并没有Sun之前认为的那种“中心化”地位——他们的中心是Oracle数据库。而且Oracle已经在用类似的方式进行了推广。或者至少说明Oracle认为没有必要同时免费派发这么多软件。 接下去，可能Solaris会被逐步边缘化，代码逐步合并到了Oracle Linux中——由于Linux遵循GPL，这样有可能出现Solaris和Linux的大混血。原本仅属于Sun Solaris的种种优势将会完全移植到Linux，这会Linux社区的幸运。或者出现完全相反的状况，Oracle Linux被边缘化，Solaris取代了它的地位。这样反而成为Linux的不幸，这是又一家大的商业公司的倒戈。 不管出现什么状况，最不幸的永远是opensolaris项目。要么会尾随Solaris退去光环，要么完全沦为小白鼠，一蹶不振，就如同Redhat之fedora。 那Mysql呢？后果已经“不容乐观”了，提起来伤心，不提也罢。]]></description>
			<content:encoded><![CDATA[<p>上次写过几篇东西，关于Oracle收购Sun的。<a href="http://www.litrin.net/2009/04/21/oraclesun/">Oracle+Sun=?</a> , <a href="http://www.litrin.net/2009/03/29/sun%e7%9a%84%e8%ba%ab%e5%89%8d%e8%ba%ab%e5%90%8e%e4%ba%8b/">Sun的身前身后事</a>。</p>
<p>如今尘埃落定，<a rel="nofollow" target="_blank" href="http://www.sun.com/">www.sun.com</a> 也已经被重定向到了<a rel="nofollow" target="_blank" href="http://www.oracle.com">www.oracle.com</a> 。至少局外人看来，两家公司已经合并，而且至少不是失败的。</p>
<p>也就是在今天，得知oracle放出消息：今后Solaris不再免费提供，下载版本只提供90天的试用。如果使用，请买授权！</p>
<p>从个人角度上来说，我当然希望是提前一天庆祝了明天的节日。但事实上这并非是空穴来风。</p>
<p><span id="more-1208"></span></p>
<p>Sun是一家技术公司，需要推广自己的产品。免费派送操作系统提升Sun硬件产品、Java，这种方式是明智的选择。但相对比较商业化一点的Oracle则认为Solaris只是一个众多产品线上其中的一环，并没有Sun之前认为的那种“中心化”地位——他们的中心是Oracle数据库。而且Oracle已经在用类似的方式进行了推广。或者至少说明Oracle认为没有必要同时免费派发这么多软件。</p>
<p style="text-align: center;"><a href="http://www.litrin.net/wp-content/uploads/2010/03/oracle_solaris_download_page.gif"><img class="size-medium wp-image-1209  aligncenter" title="oracle_solaris_download_page" src="http://www.litrin.net/wp-content/uploads/2010/03/oracle_solaris_download_page-300x286.gif" alt="" width="300" height="286" /></a></p>
<p>接下去，可能Solaris会被逐步边缘化，代码逐步合并到了Oracle Linux中——由于Linux遵循GPL，这样有可能出现Solaris和Linux的大混血。原本仅属于Sun Solaris的种种优势将会完全移植到Linux，这会Linux社区的幸运。或者出现完全相反的状况，Oracle Linux被边缘化，Solaris取代了它的地位。这样反而成为Linux的不幸，这是又一家大的商业公司的倒戈。</p>
<p>不管出现什么状况，最不幸的永远是opensolaris项目。要么会尾随Solaris退去光环，要么完全沦为小白鼠，一蹶不振，就如同Redhat之fedora。</p>
<p>那Mysql呢？后果已经“不容乐观”了，提起来伤心，不提也罢。</p>
<p><a href="http://www.litrin.net/wp-content/uploads/2010/03/oracle_solaris_download_page.gif"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2010/03/31/%e5%86%8d%e8%b0%88%e8%b0%88-oraclesun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>将Apache日志实时写入mysql</title>
		<link>http://www.litrin.net/2010/02/24/%e5%b0%86apache%e6%97%a5%e5%bf%97%e5%ae%9e%e6%97%b6%e5%86%99%e5%85%a5mysql/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25e5%25b0%2586apache%25e6%2597%25a5%25e5%25bf%2597%25e5%25ae%259e%25e6%2597%25b6%25e5%2586%2599%25e5%2585%25a5mysql</link>
		<comments>http://www.litrin.net/2010/02/24/%e5%b0%86apache%e6%97%a5%e5%bf%97%e5%ae%9e%e6%97%b6%e5%86%99%e5%85%a5mysql/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 09:54:15 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[www]]></category>
		<category><![CDATA[数据库应用]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[服务器]]></category>
		<guid isPermaLink="false">http://www.litrin.net/?p=1176</guid>
		<description><![CDATA[貌似 站长Litrin已经很久没有关注过LAMP的东西了。 作为网站运行来说，日志分析是一个很重要的工作。当一个网站的日志到了一定程度，或者一个网站同时有多台服务器的时候，传统的文本日志分析总会遇到瓶颈。 这个时候我就会想起强大的sql语句。看了网上很多人的帖子，都是将日志转成sql语句再导入的，搞得有点复杂。本方案不需要任何多余的软件和操作，一切全是实时、自动，供各位参考。 主机至少需要预安装apache(废话！)和mysql的客户端。如果访问量不大且服务器的资源管够的话可以将mysql装在本地，否则建议一台独立的mysql服务器。 在apache配置文件或者虚拟主机配置文件中面添加 LogFormat INSERT INTO apacheLog (ID, dateTime, IP, URL, code, referer, userAgent, size, request) VALUES ( NULL , \"%{%Y-%m-%d %H:%M:%S}t\", \"%a\", \"%U\", \"%&#62;s\", \" %{Referer}i\", \"%{User-Agent}i\", %b, %T);" sqlcomm CustomLog "&#124; /usr/local/Mysql --host=HOST --user=USER --password=PASSWORD --database=LITRIN_NET" sqlcomm 建立数据库apacheLog。 CREATE TABLE ` apacheLog ` ( `ID` int(11) NOT NULL auto_increment, `dateTime` datetime NOT [...]]]></description>
			<content:encoded><![CDATA[<p>貌似 站长Litrin已经很久没有关注过LAMP的东西了。</p>
<p>作为网站运行来说，日志分析是一个很重要的工作。当一个网站的日志到了一定程度，或者一个网站同时有多台服务器的时候，传统的文本日志分析总会遇到瓶颈。</p>
<p>这个时候我就会想起强大的sql语句。看了网上很多人的帖子，都是将日志转成sql语句再导入的，搞得有点复杂。本方案不需要任何多余的软件和操作，一切全是实时、自动，供各位参考。</p>
<p><span id="more-1176"></span></p>
<p>主机至少需要预安装apache(废话！)和mysql的客户端。如果访问量不大且服务器的资源管够的话可以将mysql装在本地，否则建议一台独立的mysql服务器。</p>
<p>在apache配置文件或者虚拟主机配置文件中面添加</p>
<pre>LogFormat INSERT INTO apacheLog (ID, dateTime, IP, URL, code, referer, userAgent, size, request) VALUES ( NULL , \"%{%Y-%m-%d %H:%M:%S}t\", \"%a\", \"%U\", \"%&gt;s\", \" %{Referer}i\", \"%{User-Agent}i\", %b, %T);" sqlcomm
CustomLog "| /usr/local/Mysql --host=HOST --user=USER --password=PASSWORD --database=LITRIN_NET" sqlcomm</pre>
<p>建立数据库apacheLog。</p>
<pre name=code class=sql>
CREATE TABLE ` apacheLog ` (
  `ID` int(11) NOT NULL auto_increment,
  `dateTime` datetime NOT NULL,
  `IP` varchar(15) NOT NULL,
  `URL` varchar(256) NOT NULL,
  `code` varchar(3) NOT NULL,
  `referer` varchar(256) NOT NULL,
  `userAgent` varchar(256) NOT NULL,
  `size` int(11) NOT NULL,
  `request` float NOT NULL,
  PRIMARY KEY  (`ID`),
  KEY `dateTime` (`dateTime`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
</pre>
<p> 确认无误后重启apache生效！</p>
<p>其实整个流程很简单：先是利用LogFormat设置将日志转换为接近sql的格式，再通过CustomLog 调用pipe实现mysql写入。你也可以参照<a rel="nofollow" target="_blank" href="http://httpd.apache.org/docs/2.2/mod/mod_log_config.html#formats">http://httpd.apache.org/docs/2.2/mod/mod_log_config.html#formats</a>的格式设置写入自己关心的数据。<br />
此外，你也可以使用<code>SetEnvIf配合正则表达式过滤掉诸如图片、CSS、JS之类相对不重要的信息。</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2010/02/24/%e5%b0%86apache%e6%97%a5%e5%bf%97%e5%ae%9e%e6%97%b6%e5%86%99%e5%85%a5mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solaris连锁故障</title>
		<link>http://www.litrin.net/2010/02/22/solaris%e8%bf%9e%e9%94%81%e6%95%85%e9%9a%9c/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=solaris%25e8%25bf%259e%25e9%2594%2581%25e6%2595%2585%25e9%259a%259c</link>
		<comments>http://www.litrin.net/2010/02/22/solaris%e8%bf%9e%e9%94%81%e6%95%85%e9%9a%9c/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 06:19:29 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[Unix]]></category>
		<category><![CDATA[硬件相关]]></category>
		<category><![CDATA[站长的blog]]></category>
		<category><![CDATA[solaris]]></category>
		<category><![CDATA[服务器]]></category>
		<guid isPermaLink="false">http://www.litrin.net/?p=1172</guid>
		<description><![CDATA[公司有一台服务器，属于经常被冷落的那种。SunV245 + solaris 10 + Oracle 10G 。自从装好机之后uptime至少有2年了。 且说这天需要重启，重启后无法通过ssh连接，通过串口终端连上之后发觉由于之前习惯于ssh key登录，一直没有root密码。郁闷中。 这台机器，一没有显卡，二没有光驱。实在让人头疼。七手八脚的把自己本本的光驱拆下来装在机器上，又发觉是自动硬盘启动的那种，无法光驱启动。 获得OK提示符 获得OK，相对比较容易，只是一般的键盘不是sun专用，没有那一堆控制键。 进入串口终端，启动机器并载入操作系统之后，在终端输入 #. 进入SC，运气不错，SC没有密码。输入break，再console回来就获得了Ok提示符。 获取root密码 进入OK后，放入solaris for sparc的盘，输入boot cdrom -s 进入修复系统。中间有一段比较漫长的等待。 进入系统后将硬盘 /dev/dsk/c1t0d0s0 挂装好之后找到硬盘上的etc/shadow。 将第一行的root:xxxxxxxxxxxx:14302:::::: 修改为root::14302:::::: 重新启动后用空密码就可以直接登系统。 SVCS问题 进入系统后，发现一大堆SVC服务无法启动，所有的问题都来自于一个关键应用 system-filesystem-local:default 无法正常启动。 tail /var/svc/log/system-filesystem-local:default.log 发觉有如下报错：WARNING: /sbin/mountall -l failed: exit status 1 不解，但既然是mount的问题，肯定和/etc/vfstab有关。打开这个文件，顿时就傻了——最后一行： /dev/dsk/c1t0d0s0       /dev/rdsk/c1t0d0s0      /       ufs     1       no &#8230;&#8230;. /dev/dsk/c1t3d0s0  /dev/rdsk/c1t3d0s0  /backup  ufs  0  yes  [...]]]></description>
			<content:encoded><![CDATA[<p>公司有一台服务器，属于经常被冷落的那种。SunV245 + solaris 10 + Oracle 10G 。自从装好机之后uptime至少有2年了。</p>
<p>且说这天需要重启，重启后无法通过ssh连接，通过串口终端连上之后发觉由于之前习惯于ssh key登录，一直没有root密码。郁闷中。</p>
<p><span id="more-1172"></span></p>
<p>这台机器，一没有显卡，二没有光驱。实在让人头疼。七手八脚的把自己本本的光驱拆下来装在机器上，又发觉是自动硬盘启动的那种，无法光驱启动。</p>
<p><strong>获得OK提示符</strong></p>
<p>获得OK，相对比较容易，只是一般的键盘不是sun专用，没有那一堆控制键。<br />
进入串口终端，启动机器并载入操作系统之后，在终端输入 #. 进入SC，运气不错，SC没有密码。输入break，再console回来就获得了Ok提示符。</p>
<p><strong>获取root密码</strong></p>
<p>进入OK后，放入solaris for sparc的盘，输入boot cdrom -s 进入修复系统。中间有一段比较漫长的等待。<br />
进入系统后将硬盘 /dev/dsk/c1t0d0s0 挂装好之后找到硬盘上的etc/shadow。<br />
将第一行的root:xxxxxxxxxxxx:14302:::::: 修改为root::14302::::::<br />
重新启动后用空密码就可以直接登系统。</p>
<p><strong>SVCS问题</strong></p>
<p>进入系统后，发现一大堆SVC服务无法启动，所有的问题都来自于一个关键应用 system-filesystem-local:default 无法正常启动。<br />
tail /var/svc/log/system-filesystem-local:default.log 发觉有如下报错：<span style="color: #ff0000;">WARNING: /sbin/mountall -l failed: exit status 1</span></p>
<p><span style="color: #000000;">不解，但既然是mount的问题，肯定和/etc/vfstab有关。打开这个文件，顿时就傻了——最后一行：<br />
</span><span style="color: #000000;">/dev/dsk/c1t0d0s0       /dev/rdsk/c1t0d0s0      /       ufs     <span style="text-decoration: underline;">1 </span>      no<br />
&#8230;&#8230;.</span><span style="color: #000000;"><br />
/dev/dsk/c1t3d0s0  /dev/rdsk/c1t3d0s0  /backup  ufs <span style="text-decoration: underline;"> 0</span>  yes  rw<br />
系统将/backup的挂装顺序设置为了0，/为1。这意味着系统默认会先挂/backup，后挂/。摆明了肯定会错。注释掉/backup这一行，问题解决！</span></p>
<p><span style="color: #000000;"><strong>分析</strong></span></p>
<p><span style="color: #000000;">问题出的无厘头。<br />
原来之前曾经对这个机器添加过硬盘，当时通过webmin直接修改的vfstab，webmin的一个bug导致了vfstab的错误。只是之前从未重启，也没暴露出来。<br />
没有root密码也是因为一直没有暴露出这个交接不清的问题。</span></p>
<p><span style="color: #000000;"><br />
<strong>Webmin BUG -&gt;硬盘挂装出错-&gt;fs关键服务不能启动-&gt;网络不启动-&gt;ssh不启动-&gt;无密码不能登入-&gt;需要OK提示符</strong></span><span style="color: #000000;">纠结~~~~</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2010/02/22/solaris%e8%bf%9e%e9%94%81%e6%95%85%e9%9a%9c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>virtual server上安装ubuntu</title>
		<link>http://www.litrin.net/2010/01/11/virtual-server%e4%b8%8a%e5%ae%89%e8%a3%85ubuntu/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=virtual-server%25e4%25b8%258a%25e5%25ae%2589%25e8%25a3%2585ubuntu</link>
		<comments>http://www.litrin.net/2010/01/11/virtual-server%e4%b8%8a%e5%ae%89%e8%a3%85ubuntu/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 08:07:19 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[硬件相关]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[服务器]]></category>
		<guid isPermaLink="false">http://www.litrin.net/?p=1141</guid>
		<description><![CDATA[都说MS 的virtual server仅能够支持MS自家的系统。比如解决了的xorg桌面的显示问题。  这次在virtual server上安装ubuntu 804 server，每次跳出启动选项之后，选择好语言之后，启动安装程序，虚拟机马上重启。一开始以为是ACPI的问题，关闭了acpi之后，故障依旧。久而久之发现问题的规律是只会出现在成功启用了“硬件辅助虚拟化功能”的虚拟机上。    多次失败之后，找到了解决方法：  利用光盘启动好之后，选择好语言之后，进入Ubuntu的启动选项界面。 如果您安装的是desktop版本，按F4键，选择“安全图形模式”。Server版本直接跳过这一步。 按F6，修改启动参数，原版本为 &#8216;XXXXXX quiet splash &#8211;&#8217; ，删除掉后面的 &#8216;&#8211;&#8217; ，当然，你也可以直接删除quiet splash跳过飞溅界面。添加 vga=791 noreplace-paravirt ，直接按回车启动。 完成安装。 第一次启动载入grub时，直接esc编辑grub 设置，将kenerl那一行的末尾同样加上vga=791 noreplace-paravirt ，按b键启动。 这种方法似乎也支持Fedora一类的Linux。  noreplace-paravirt这个模块，网络上解释的很少。根据字面分析大致是一旦启用了硬件虚拟化支持以后，内核的一部分机器码将会被替换，强制操作系统关闭这个功能之后，系统才能正常启动。 PS:关于vga=791的解释 vga的模式分为如下几种，以及相互对应的数字标识 16 進位表示: pixel 640&#215;480 800&#215;600 1024&#215;768 1280&#215;1024 text 80&#215;30 100&#215;37 128&#215;48 160&#215;64 256 0&#215;301 0&#215;303 0&#215;305 0&#215;307 32k 0&#215;310 0&#215;313 0&#215;316 0&#215;319 64k [...]]]></description>
			<content:encoded><![CDATA[<p>都说MS 的virtual server仅能够支持MS自家的系统。比如<a href="http://www.litrin.net/2008/02/19/virtual-server-virtual-pc%e4%b8%8blinux%e6%a1%8c%e9%9d%a2%e7%9a%84%e9%97%ae%e9%a2%98/" target="_blank">解决了的xorg桌面的显示问题</a>。 </p>
<p>这次在virtual server上安装ubuntu 804 server，每次跳出启动选项之后，选择好语言之后，启动安装程序，虚拟机马上重启。一开始以为是ACPI的问题，关闭了acpi之后，故障依旧。久而久之发现问题的规律是只会出现在成功启用了“硬件辅助虚拟化功能”的虚拟机上。 </p>
<p><span id="more-1141"></span> </p>
<p>多次失败之后，找到了解决方法： </p>
<ol>
<li>利用光盘启动好之后，选择好语言之后，进入Ubuntu的启动选项界面。</li>
<li>如果您安装的是desktop版本，按F4键，选择“安全图形模式”。Server版本直接跳过这一步。</li>
<li>按F6，修改启动参数，原版本为 &#8216;XXXXXX quiet splash &#8211;&#8217; ，删除掉后面的 &#8216;&#8211;&#8217; ，当然，你也可以直接删除quiet splash跳过飞溅界面。添加 <strong>vga=791 noreplace-paravirt </strong>，直接按回车启动。</li>
<li>完成安装。</li>
<li>第一次启动载入grub时，直接esc编辑grub 设置，将kenerl那一行的末尾同样加上<strong>vga=791 noreplace-paravirt ，</strong>按b键启动。</li>
</ol>
<div id="attachment_1142" class="wp-caption alignleft" style="width: 310px"><a href="http://www.litrin.net/wp-content/uploads/2010/01/MSVS-ubutnu.png"><img class="size-medium wp-image-1142" style="vertical-align: middle;" title="ms virtual server 安装 ubuntu Linux " src="http://www.litrin.net/wp-content/uploads/2010/01/MSVS-ubutnu-300x248.png" alt="ms virtual server 安装 ubuntu Linux" width="300" height="248" /></a><p class="wp-caption-text">ms virtual server 安装 ubuntu Linux </p></div>
<p>这种方法似乎也支持Fedora一类的Linux。 </p>
<p>noreplace-paravirt这个模块，网络上解释的很少。根据字面分析大致是一旦启用了硬件虚拟化支持以后，内核的一部分机器码将会被替换，强制操作系统关闭这个功能之后，系统才能正常启动。</p>
<p>PS:关于vga=791的解释</p>
<p>vga的模式分为如下几种，以及相互对应的数字标识</p>
<p>16 進位表示:</p>
<blockquote>
<table id="table1" border="0" cellpadding="3">
<tbody>
<tr>
<td align="right">pixel</td>
<td>640&#215;480</td>
<td>800&#215;600</td>
<td>1024&#215;768</td>
<td>1280&#215;1024</td>
</tr>
<tr>
<td align="right">text</td>
<td align="right">80&#215;30</td>
<td align="right">100&#215;37</td>
<td align="right">128&#215;48</td>
<td align="right">160&#215;64</td>
</tr>
<tr>
<td align="right">256</td>
<td align="right">0&#215;301</td>
<td align="right">0&#215;303</td>
<td align="right">0&#215;305</td>
<td align="right">0&#215;307</td>
</tr>
<tr>
<td align="right">32k</td>
<td align="right">0&#215;310</td>
<td align="right">0&#215;313</td>
<td align="right">0&#215;316</td>
<td align="right">0&#215;319</td>
</tr>
<tr>
<td align="right">64k</td>
<td align="right">0&#215;311</td>
<td align="right">0&#215;314</td>
<td align="right">0&#215;317</td>
<td align="right">0x31A</td>
</tr>
<tr>
<td align="right">16M</td>
<td align="right">0&#215;312</td>
<td align="right">0&#215;315</td>
<td align="right">0&#215;318</td>
<td align="right">0x31B</td>
</tr>
</tbody>
</table>
</blockquote>
<p>10 進位表示:</p>
<blockquote>
<table id="table2" border="0" cellpadding="3">
<tbody>
<tr>
<td align="right">pixel</td>
<td>640&#215;480</td>
<td>800&#215;600</td>
<td>1024&#215;768</td>
<td>1280&#215;1024</td>
</tr>
<tr>
<td align="right">text</td>
<td align="right">80&#215;30</td>
<td align="right">100&#215;37</td>
<td align="right">128&#215;48</td>
<td align="right">160&#215;64</td>
</tr>
<tr>
<td align="right">256</td>
<td align="right">769</td>
<td align="right">771</td>
<td align="right">773</td>
<td align="right">775</td>
</tr>
<tr>
<td align="right">32k</td>
<td align="right">784</td>
<td align="right">787</td>
<td align="right">790</td>
<td align="right">793</td>
</tr>
<tr>
<td align="right">64k</td>
<td align="right">785</td>
<td align="right">788</td>
<td align="right">791</td>
<td align="right">794</td>
</tr>
<tr>
<td align="right">16M</td>
<td align="right">786</td>
<td align="right">789</td>
<td align="right">792</td>
<td align="right">795</td>
</tr>
</tbody>
</table>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2010/01/11/virtual-server%e4%b8%8a%e5%ae%89%e8%a3%85ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>实战Linux 虚拟服务器</title>
		<link>http://www.litrin.net/2009/08/05/%e5%ae%9e%e6%88%98linux-%e8%99%9a%e6%8b%9f%e6%9c%8d%e5%8a%a1%e5%99%a8/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25e5%25ae%259e%25e6%2588%2598linux-%25e8%2599%259a%25e6%258b%259f%25e6%259c%258d%25e5%258a%25a1%25e5%2599%25a8</link>
		<comments>http://www.litrin.net/2009/08/05/%e5%ae%9e%e6%88%98linux-%e8%99%9a%e6%8b%9f%e6%9c%8d%e5%8a%a1%e5%99%a8/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 06:51:29 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[硬件相关]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[服务器]]></category>
		<guid isPermaLink="false">http://www.litrin.net/?p=1062</guid>
		<description><![CDATA[也不知最近怎么了，一直钻到怪圈里——先是研究把多台主机逻辑上虚拟成一台主机的clustter技术，接着又是把一台主机虚拟成多台主机的虚拟化及技术。 虚拟化，不管是intel-vt还是AMD-v，现在已经逐渐成了标配，MS虚拟化大行其道了。MS也在很久之前推出Virtual server和hyper-v服务器，具体暂时可以参考这里。考虑到redhat的设置相对没有难度，没事找事的我选择ubuntu server来部署。 安装一套干净的ubuntu server版，我选择了804.3 64bit版本。服务器是Dell 2950 双Xeon 5130, 4GRam 137G 硬盘。硬件支持intel-vt。 安装到最后，选择开启openssh服务器。可以离开机房，远程联机操作了。 安装virt-manager——这个软件就是redhat系统的虚拟机管理软件，ms是目前最方便的虚拟机管理程序。比较方便的apt-get，当然，如果你本机的系统是linux可以直接把virt-manager装在本机通过远程管理。方便起见，这里还是按照ssh的x-forwarding的方式介绍。 sudo apt-get install virt-manager gnome-core qemu libvirt-bin 比较漫长的等待，系统需要下载n多的包。可以出去休息一下。安装结束后不要忘记重新启动。 稍作修改，典型的ubuntu ‘sudo’问题 sudo nano /usr/bin/virt-manager  #!/bin/sh exec sudo python &#8220;/usr/share/virt-manager/virt-manager.py&#8221; &#8220;$@&#8221; 设置ssh的x11转接后 sudo virt-manager 应该可以看到KVM了。 选择file-&#62;open connection-&#62;选择QEMU, Local连接到主机。右击，选择new，有很详细的向导，这里不再解释了。貌似系统还支持多种cpu平台，没有做测试。不知道是什么缘故，virt-manager对于鼠标的支持有些问题——系统的鼠标和虚拟系统的鼠标总是不同步。有些时候还是比较让人讨厌。建议安装好系统之后还是用远程连接到虚拟机上进行操作吧。 ps:本想通过virt-manager + xen来实现，无奈全部修改好了之后，用virt-manager一连接到主机就崩溃，搜索了ubuntu的bugzilla发觉这似乎是64bit的通病，于是只能用Qemu。如果各位有成功部署的话希望能够共享经验。]]></description>
			<content:encoded><![CDATA[<p>也不知最近怎么了，一直钻到怪圈里——先是研究把多台主机逻辑上虚拟成一台主机的clustter技术，接着又是把一台主机虚拟成多台主机的虚拟化及技术。</p>
<p>虚拟化，不管是intel-vt还是AMD-v，现在已经逐渐成了标配，MS虚拟化大行其道了。MS也在很久之前推出Virtual server和hyper-v服务器，具体暂时可以参考<a href="http://www.litrin.net/2008/02/19/virtual-server-virtual-pc%e4%b8%8blinux%e6%a1%8c%e9%9d%a2%e7%9a%84%e9%97%ae%e9%a2%98/" target="_blank">这里</a>。考虑到redhat的设置相对没有难度，没事找事的我选择ubuntu server来部署。</p>
<p><span id="more-1062"></span></p>
<p>安装一套干净的ubuntu server版，我选择了804.3 64bit版本。服务器是Dell 2950 双Xeon 5130, 4GRam 137G 硬盘。硬件支持intel-vt。</p>
<p>安装到最后，选择开启openssh服务器。可以离开机房，远程联机操作了。</p>
<p>安装virt-manager——这个软件就是redhat系统的虚拟机管理软件，ms是目前最方便的虚拟机管理程序。比较方便的apt-get，当然，如果你本机的系统是linux可以直接把virt-manager装在本机通过远程管理。方便起见，这里还是按照ssh的x-forwarding的方式介绍。</p>
<p>sudo apt-get install virt-manager gnome-core qemu libvirt-bin</p>
<p>比较漫长的等待，系统需要下载n多的包。可以出去休息一下。安装结束后不要忘记重新启动。</p>
<p>稍作修改，典型的ubuntu ‘sudo’问题</p>
<p>sudo nano /usr/bin/virt-manager</p>
<p> #!/bin/sh<br />
exec <strong><span style="color: #ff0000;">sudo</span></strong> python &#8220;/usr/share/virt-manager/virt-manager.py&#8221; &#8220;$@&#8221;</p>
<p><a href="http://www.litrin.net/2009/06/01/ssh%e7%9a%84x%ef%bc%8dforwarding/" target="_blank">设置ssh的x11转接</a>后</p>
<p>sudo virt-manager</p>
<p>应该可以看到KVM了。</p>
<div id="attachment_1066" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.litrin.net/wp-content/uploads/2009/08/virt-manager_main.png"><img class="size-medium wp-image-1066" title="virt-manager_main" src="http://www.litrin.net/wp-content/uploads/2009/08/virt-manager_main-300x226.png" alt="virt-manager" width="300" height="226" /></a><p class="wp-caption-text">virt-manager</p></div>
<p>选择file-&gt;open connection-&gt;选择QEMU, Local连接到主机。右击，选择new，有很详细的向导，这里不再解释了。貌似系统还支持多种cpu平台，没有做测试。不知道是什么缘故，virt-manager对于鼠标的支持有些问题——系统的鼠标和虚拟系统的鼠标总是不同步。有些时候还是比较让人讨厌。建议安装好系统之后还是用远程连接到虚拟机上进行操作吧。</p>
<div id="attachment_1067" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.litrin.net/wp-content/uploads/2009/08/virt-manager_ui.png"><img class="size-medium wp-image-1067" title="virt-manager 界面" src="http://www.litrin.net/wp-content/uploads/2009/08/virt-manager_ui-300x275.png" alt="2003的安装" width="300" height="275" /></a><p class="wp-caption-text">2003的安装系统资源管理</p></div>
<div class="mceTemp mceIEcenter" style="text-align: left;">ps:本想通过virt-manager + xen来实现，无奈全部修改好了之后，用virt-manager一连接到主机就崩溃，搜索了ubuntu的bugzilla发觉这似乎是64bit的通病，于是只能用Qemu。如果各位有成功部署的话希望能够共享经验。</div>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2009/08/05/%e5%ae%9e%e6%88%98linux-%e8%99%9a%e6%8b%9f%e6%9c%8d%e5%8a%a1%e5%99%a8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>软件CPU数量的计算方法</title>
		<link>http://www.litrin.net/2009/07/24/%e8%bd%af%e4%bb%b6cpu%e6%95%b0%e9%87%8f%e7%9a%84%e8%ae%a1%e7%ae%97%e6%96%b9%e6%b3%95/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25e8%25bd%25af%25e4%25bb%25b6cpu%25e6%2595%25b0%25e9%2587%258f%25e7%259a%2584%25e8%25ae%25a1%25e7%25ae%2597%25e6%2596%25b9%25e6%25b3%2595</link>
		<comments>http://www.litrin.net/2009/07/24/%e8%bd%af%e4%bb%b6cpu%e6%95%b0%e9%87%8f%e7%9a%84%e8%ae%a1%e7%ae%97%e6%96%b9%e6%b3%95/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 08:41:51 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[硬件相关]]></category>
		<category><![CDATA[服务器]]></category>
		<guid isPermaLink="false">http://www.litrin.net/?p=1056</guid>
		<description><![CDATA[就如同这次日全食一样,虽然很感激暴雨赶走了上海连日来的酷暑。但也冲走了500年一遇的超长日全食。很多时候就是有这么多不完美的事件凑成了完美的世界——撤远了。 很多软件，由于种种原因，总有不完全功能的版本，对于服务器软件而言，最常见的不完美就是对CPU数量和支持内存进行限制。在现在这个多核的时代，计算CPU数量有的时候会存在歧义。列举出来分为：SMT（超线程）,多核以及SMP多CPU技术。当然根据tom&#8217;s hardware的测评，多核CPU的核心越多，性能提升的空间相对越少——大致为1+n^-2。这也似乎意味着其实“第一个”CPU的工作效率是最高的。 windows：以物理cpu数量为准，SMT和多核仍然只算做一个CPU。当然，在系统中会被分开计算。 Linux：如果不开启SMP支持，SMT,多核,smp都不支持，所有的形式都会被算作一个物理CPU。好在大多数Linux不限制CPU数量。对于realtime内核，从原理上来讲，虽然支持多CPU，但仍然仅会显示1个CPU。 SQLServer：以物理cpu计算，多核和SMT都被算作一个CPU。当然比较变态是仅支持1G空间，1G内存和1个CPU尚且不支持备份的express版本，免费。 oracle：同SQLServer，也有阉割版本的4G空间，1G内存，1个CPU的express版本，免费。 看起来业界通用的还是只把真正的物理CPU数量作为软件的限制。对于服务器而言，更多的CPU数量意味着更大的并发数以及更耐压的系统。]]></description>
			<content:encoded><![CDATA[<p>就如同这次日全食一样,虽然很感激暴雨赶走了上海连日来的酷暑。但也冲走了500年一遇的超长日全食。很多时候就是有这么多不完美的事件凑成了完美的世界——撤远了。</p>
<p>很多软件，由于种种原因，总有不完全功能的版本，对于服务器软件而言，最常见的不完美就是对CPU数量和支持内存进行限制。在现在这个多核的时代，计算CPU数量有的时候会存在歧义。列举出来分为：SMT（超线程）,多核以及SMP多CPU技术。当然根据tom&#8217;s hardware的<a rel="nofollow" target="_blank" href="http://www.tomshardware.com/reviews/multi-core-cpu,2280-11.html" target="_blank">测评</a>，多核CPU的核心越多，性能提升的空间相对越少——大致为1+n^-2。这也似乎意味着其实“第一个”CPU的工作效率是最高的。</p>
<p><span id="more-1056"></span></p>
<ul>
<li>windows：以物理cpu数量为准，SMT和多核仍然只算做一个CPU。当然，在系统中会被分开计算。</li>
<li>Linux：如果不开启SMP支持，SMT,多核,smp都不支持，所有的形式都会被算作一个物理CPU。好在大多数Linux不限制CPU数量。对于realtime内核，从原理上来讲，虽然支持多CPU，但仍然仅会显示1个CPU。</li>
<li>SQLServer：以物理cpu计算，多核和SMT都被算作一个CPU。当然比较变态是仅支持1G空间，1G内存和1个CPU尚且不支持备份的express版本，免费。</li>
<li>oracle：同SQLServer，也有阉割版本的4G空间，1G内存，1个CPU的express版本，免费。</li>
</ul>
<p>看起来业界通用的还是只把真正的物理CPU数量作为软件的限制。对于服务器而言，更多的CPU数量意味着更大的并发数以及更耐压的系统。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2009/07/24/%e8%bd%af%e4%bb%b6cpu%e6%95%b0%e9%87%8f%e7%9a%84%e8%ae%a1%e7%ae%97%e6%96%b9%e6%b3%95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>wordpress2.8的一个问题</title>
		<link>http://www.litrin.net/2009/07/15/wordpress2-8%e7%9a%84%e4%b8%80%e4%b8%aa%e9%97%ae%e9%a2%98/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=wordpress2-8%25e7%259a%2584%25e4%25b8%2580%25e4%25b8%25aa%25e9%2597%25ae%25e9%25a2%2598</link>
		<comments>http://www.litrin.net/2009/07/15/wordpress2-8%e7%9a%84%e4%b8%80%e4%b8%aa%e9%97%ae%e9%a2%98/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 05:37:25 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[www]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[服务器]]></category>
		<guid isPermaLink="false">http://www.litrin.net/?p=1037</guid>
		<description><![CDATA[前一段时间把小站的wordpress升级到了2.8。升级结束后，发觉后台的特效全部出了问题。文章编辑栏也坏掉了。 搜索了google，很多人报类似的错误。说是google某个插件的lib和系统冲突。多次禁用全部的插件依然无果。 以为是php版本太低，升级了php，照旧。 反复折腾中2.81正式release了,更新，再度失望。 搭建了一套测试环境，整个系统搬过去却奇迹的解决了问题。OK，至少错误定位了，开始检查php.ini。 反复调试后，总算找到了问题所在：很不起眼的magic_quotes_gpc设置成了On，修改成了Off,一切解决！ 比较令人不解的是，这个不起眼的设置怎么会影响到JS的故障，很是郁闷。 PS:其实unreal写的那个Easy AdSense真的是很垃圾，强行插入链接，满屏的paypal“捐助请求”，又是替换你的广告代码——少赚广告费倒是算了，被怀疑作弊就麻烦大了。几乎一天一个版本的更新，真的是很“敬业”。只能自己重新写了一个。有想要的可以直接告诉我。]]></description>
			<content:encoded><![CDATA[<p>前一段时间把小站的wordpress升级到了2.8。升级结束后，发觉后台的特效全部出了问题。文章编辑栏也坏掉了。</p>
<p>搜索了google，很多人报类似的错误。说是google某个插件的lib和系统冲突。多次禁用全部的插件依然无果。</p>
<p>以为是php版本太低，升级了php，照旧。</p>
<p><span id="more-1037"></span>反复折腾中2.81正式release了,更新，再度失望。</p>
<p>搭建了一套测试环境，整个系统搬过去却奇迹的解决了问题。OK，至少错误定位了，开始检查php.ini。</p>
<p>反复调试后，总算找到了问题所在：很不起眼的magic_quotes_gpc设置成了On，修改成了Off,一切解决！</p>
<p>比较令人不解的是，这个不起眼的设置怎么会影响到JS的故障，很是郁闷。</p>
<p>PS:其实unreal写的那个Easy AdSense真的是很垃圾，强行插入链接，满屏的paypal“捐助请求”，又是替换你的广告代码——少赚广告费倒是算了，被怀疑作弊就麻烦大了。几乎一天一个版本的更新，真的是很“敬业”。只能自己重新写了一个。有想要的可以直接告诉我。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2009/07/15/wordpress2-8%e7%9a%84%e4%b8%80%e4%b8%aa%e9%97%ae%e9%a2%98/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>从一次“半夜机叫”说起</title>
		<link>http://www.litrin.net/2009/06/26/%e4%bb%8e%e4%b8%80%e6%ac%a1%e2%80%9c%e5%8d%8a%e5%a4%9c%e6%9c%ba%e5%8f%ab%e2%80%9d%e8%af%b4%e8%b5%b7/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25e4%25bb%258e%25e4%25b8%2580%25e6%25ac%25a1%25e2%2580%259c%25e5%258d%258a%25e5%25a4%259c%25e6%259c%25ba%25e5%258f%25ab%25e2%2580%259d%25e8%25af%25b4%25e8%25b5%25b7</link>
		<comments>http://www.litrin.net/2009/06/26/%e4%bb%8e%e4%b8%80%e6%ac%a1%e2%80%9c%e5%8d%8a%e5%a4%9c%e6%9c%ba%e5%8f%ab%e2%80%9d%e8%af%b4%e8%b5%b7/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 07:41:46 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[硬件相关]]></category>
		<category><![CDATA[站长的blog]]></category>
		<category><![CDATA[服务器]]></category>
		<guid isPermaLink="false">http://www.litrin.net/2009/06/26/%e4%bb%8e%e4%b8%80%e6%ac%a1%e2%80%9c%e5%8d%8a%e5%a4%9c%e6%9c%ba%e5%8f%ab%e2%80%9d%e8%af%b4%e8%b5%b7/</guid>
		<description><![CDATA[这些天，恰好我们负责呼叫中心维护的同事更新主机——自己搭建的4U工控。按照惯例，凌晨1点开工。 1点半，我接到来电，说是主机无法点亮。照道理来说，我们的机器在安装之前已经经过了至少1周的烤机测试，不会出现这么妖异的问题。 首先，确认保错。这位兄弟说“out of 什么什么，没看清就跳掉了。&#8221;睡的迷迷糊糊的我，以为是out of memory之类的错误，于是让他恢复系统。状况依旧。 我忽然想起了烤机时用的是17寸宽屏显示器，而机房中接KVM的是原装SUN的19寸普屏，很有可能是显示器out of rage的错误被认成了系统报错。赶紧打电话叫停。检查一下，果然如此。 记得CRT显示器的时代，15寸的也可以上1600&#215;1200的分辨率，可到了液晶时代，我们却被如此问题忽悠的一愣一愣。真不知是技术带来了方便还是麻烦。 建议机房还是标配CRT的显示器吧。]]></description>
			<content:encoded><![CDATA[<p>这些天，恰好我们负责呼叫中心维护的同事更新主机——自己搭建的4U工控。按照惯例，凌晨1点开工。</p>
<p>1点半，我接到来电，说是主机无法点亮。照道理来说，我们的机器在安装之前已经经过了至少1周的烤机测试，不会出现这么妖异的问题。</p>
<p>首先，确认保错。这位兄弟说“out of 什么什么，没看清就跳掉了。&#8221;睡的迷迷糊糊的我，以为是out of memory之类的错误，于是让他恢复系统。状况依旧。</p>
<p>我忽然想起了烤机时用的是17寸宽屏显示器，而机房中接KVM的是原装SUN的19寸普屏，很有可能是显示器out of rage的错误被认成了系统报错。赶紧打电话叫停。检查一下，果然如此。</p>
<p>记得CRT显示器的时代，15寸的也可以上1600&#215;1200的分辨率，可到了液晶时代，我们却被如此问题忽悠的一愣一愣。真不知是技术带来了方便还是麻烦。</p>
<p>建议机房还是标配CRT的显示器吧。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2009/06/26/%e4%bb%8e%e4%b8%80%e6%ac%a1%e2%80%9c%e5%8d%8a%e5%a4%9c%e6%9c%ba%e5%8f%ab%e2%80%9d%e8%af%b4%e8%b5%b7/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FreeBSD+apache+PHP+OCI支持Oracle</title>
		<link>http://www.litrin.net/2009/06/15/freebsdapachephpoci%e6%94%af%e6%8c%81oracle/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=freebsdapachephpoci%25e6%2594%25af%25e6%258c%2581oracle</link>
		<comments>http://www.litrin.net/2009/06/15/freebsdapachephpoci%e6%94%af%e6%8c%81oracle/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 10:08:54 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[Unix]]></category>
		<category><![CDATA[www]]></category>
		<category><![CDATA[数据库应用]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[服务器]]></category>
		<guid isPermaLink="false">http://www.litrin.net/2009/06/15/freebsdapachephpoci%e6%94%af%e6%8c%81oracle/</guid>
		<description><![CDATA[由于FreeBSD的Port中自带了oracle-client可用，但仅支持i386的平台，故此文仅针对于i386，AMD64无法实现oci的连接库。 首先，确定你已经安装好apache + php，没有安装的可以参考这里或者文学化的这里 安装php5-oci8 cd /usr/ports/database/php5-oci8 make install clean 安装到这里，Php的OCI8库已经安装成功，但需要对oracle-client进行设置，否则无法使用。 将tnsnames.ora拷贝到/usr/local/oracle8-client/network/admin/ 目录下 内容大致如下： ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL) ) ) 由于php默认只会在/etc目录下查找该目录，这里我做了一个手工链接 ln -s /usr/local/oracle8-client/network/admin/tnsnames.ora /etc/tnsnames.ora tnsnames已经配置完成，但对于非ASCII字符集最容setenv NLS_LANG 易出现的问题就是乱码了，这里要设置一下。 killall httpd //杀掉httpd进程，我曾经碰到过apachectl无效的情况 ee /usr/local/sbin/apachectl 在第二行加入： setenv american_america.UTF8 setenv ORACLE_HOME [...]]]></description>
			<content:encoded><![CDATA[<p>由于FreeBSD的Port中自带了oracle-client可用，但仅支持i386的平台，故此文仅针对于i386，AMD64无法实现oci的连接库。</p>
<p>首先，确定你已经安装好apache + php，没有安装的可以参考<a href="http://www.litrin.net/2005/11/09/%e7%94%a8freebsd%e7%9a%84ports%e5%ae%89%e8%a3%85apachephpmysql/comment-page-1/#comment-1345" target="_blank">这里</a>或者文学化的<a href="http://www.litrin.net/2007/08/01/%e7%94%a8freebsd%e7%9a%84ports%e5%ae%89%e8%a3%85apachephpmysql%c2%b7%e6%94%b9/" target="_blank">这里</a></p>
<p>安装php5-oci8</p>
<p>cd /usr/ports/database/php5-oci8<br />
make install clean</p>
<p>安装到这里，Php的OCI8库已经安装成功，但需要对oracle-client进行设置，否则无法使用。</p>
<p>将tnsnames.ora拷贝到/usr/local/oracle8-client/network/admin/ 目录下<br />
内容大致如下：<span id="more-1026"></span></p>
<p>ORCL =<br />
(DESCRIPTION =<br />
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))<br />
(CONNECT_DATA =<br />
(SERVER = DEDICATED)<br />
(SERVICE_NAME = ORCL)<br />
)<br />
)<br />
<!--break--><br />
由于php默认只会在/etc目录下查找该目录，这里我做了一个手工链接<br />
ln -s /usr/local/oracle8-client/network/admin/tnsnames.ora /etc/tnsnames.ora</p>
<p>tnsnames已经配置完成，但对于非ASCII字符集最容setenv NLS_LANG<br />
易出现的问题就是乱码了，这里要设置一下。<br />
killall httpd //杀掉httpd进程，我曾经碰到过apachectl无效的情况<br />
ee /usr/local/sbin/apachectl<br />
在第二行加入：<br />
setenv american_america.UTF8<br />
setenv ORACLE_HOME /usr/local/oracle8-client</p>
<p>开启apache<br />
apachectl start</p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2009/06/15/freebsdapachephpoci%e6%94%af%e6%8c%81oracle/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>关于vmstat</title>
		<link>http://www.litrin.net/2009/06/04/%e5%85%b3%e4%ba%8evmstat/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25e5%2585%25b3%25e4%25ba%258evmstat</link>
		<comments>http://www.litrin.net/2009/06/04/%e5%85%b3%e4%ba%8evmstat/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 09:13:52 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[硬件相关]]></category>
		<category><![CDATA[服务器]]></category>
		<guid isPermaLink="false">http://www.litrin.net/?p=1023</guid>
		<description><![CDATA[上次谈了load average ，这是一个反应CPU资源利用状况的命令。现实情况下，特别是现在CPU疯狂便宜的时代，对于一个服务器往往不见得是CPU吃紧，这次就来讲讲相对反应整体状况的vmstat命令。 以本人的Freebsd为例，其余的系统类似，直接套用就Ok了。 WWW# vmstat procs      memory      page                    disks     faults         cpu r b w     avm    fre   flt  re  pi  po    fr  sr da0 pa0   in   sy   cs us sy id 0 0 0    738M   108M   957  30  38   0  1226  72   0   0 1782  983  922  2  6 92 Procs 进程 r : 在等待执行的进程，若该项经常大于CPU线程数，说明CPU吃紧。正常情况下应该很快就能恢复为0 [...]]]></description>
			<content:encoded><![CDATA[<p>上次谈了<a rel="nofollow" target="_blank" title="Permanent Link: 关于 load average" rel="bookmark" href="../2009/03/27/%e5%85%b3%e4%ba%8e-load-average/">load average </a>，这是一个反应CPU资源利用状况的命令。现实情况下，特别是现在CPU疯狂便宜的时代，对于一个服务器往往不见得是CPU吃紧，这次就来讲讲相对反应整体状况的vmstat命令。</p>
<p>以本人的Freebsd为例，其余的系统类似，直接套用就Ok了。</p>
<p>WWW# vmstat<br />
procs      memory      page                    disks     faults         cpu<br />
r b w     avm    fre   flt  re  pi  po    fr  sr da0 pa0   in   sy   cs us sy id<br />
0 0 0    738M   108M   957  30  38   0  1226  72   0   0 1782  983  922  2  6 92<span id="more-1023"></span></p>
<p><strong>Procs 进程</strong></p>
<ul>
<li>r : 在等待执行的进程，若该项经常大于CPU线程数，说明CPU吃紧。正常情况下应该很快就能恢复为0</li>
<li>b:等待io的进程数，若经常不为0，恭喜！貌似这个问题只能迂回解决了。</li>
<li>w：可以进入运行队列但被替换的进程（强占？）</li>
</ul>
<p><strong>Memory 内存</strong></p>
<ul>
<li>avm：已用内存</li>
<li>fre:可用内存</li>
</ul>
<p><strong>page （linux表示为swap）页面文件</strong></p>
<ul>
<li>re:回收的页面</li>
<li>pi:进入页面数</li>
<li>po：出页面数，如果进出页面经常性大于0，OK买内存吧。</li>
</ul>
<p><strong>disk / io 磁盘</strong></p>
<p>没有什么复杂的，每个硬盘的读写状况</p>
<p>如果该值从未等于0，且结合proc中b较大，可以判断是哪块盘的读写问题<strong><br />
</strong></p>
<p><strong>faults / system 系统</strong></p>
<ul>
<li>in:设备中断占用的资源</li>
<li>sy：系统中断</li>
<li>cs: CPU交换<strong><br />
</strong></li>
</ul>
<p><strong>cpu</strong></p>
<ul>
<li>cs:用户进程时间</li>
<li>sy:系统进程使用的时间</li>
<li>id: idleCPU空闲时间</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2009/06/04/%e5%85%b3%e4%ba%8evmstat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSH的x-forwarding</title>
		<link>http://www.litrin.net/2009/06/01/ssh%e7%9a%84x%ef%bc%8dforwarding/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=ssh%25e7%259a%2584x%25ef%25bc%258dforwarding</link>
		<comments>http://www.litrin.net/2009/06/01/ssh%e7%9a%84x%ef%bc%8dforwarding/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 06:47:23 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[硬件相关]]></category>
		<category><![CDATA[网络和安全]]></category>
		<category><![CDATA[服务器]]></category>
		<guid isPermaLink="false">http://www.litrin.net/?p=1013</guid>
		<description><![CDATA[记得N年前写过一篇东西，讲的是SSH的秘钥验证登录。这次就跳出命令行，讲讲X桌面的X-forwarding。 其实*nix下的桌面也是一个网络服务，可以通过SSH来远程执行。如果您使用的是Linux的桌面版，可以通过ssh的-X 或 -Y参数： litrin@litrin-laptop:~$ ssh -Y root@192.168.1.7 Last login: Mon Jun  1 14:04:47 2009 from 192.168.103.1 Sun Microsystems Inc.   SunOS 5.10      Generic January 2005 ================================================================================ 192.168.1.7       Oracle Server ================================================================================ You have new mail. # env DISPLAY=localhost:10.0 HOME=/ LANG=zh_CN.UTF-8 LOGNAME=root MAIL=/var/mail//root PATH=/usr/sbin:/usr/bin SHELL=/sbin/sh SSH_CLIENT=192.168.103.1 60802 22 SSH_CONNECTION=192.168.103.1 60802 192.168.1.7 22 SSH_TTY=/dev/pts/1 TERM=xterm TZ=PRC USER=root 如果出现了DISPLAY变量则说明配置OK，随便可以执行一个桌面程序了。 [...]]]></description>
			<content:encoded><![CDATA[<p>记得N年前写过<a href="http://www.litrin.net/2006/04/10/%e7%94%a8publickey%e9%aa%8c%e8%af%81%e7%99%bb%e5%bd%95ssh%e6%9c%8d%e5%8a%a1%e5%99%a8/" target="_blank">一篇东西</a>，讲的是SSH的秘钥验证登录。这次就跳出命令行，讲讲X桌面的X-forwarding。</p>
<p>其实*nix下的桌面也是一个网络服务，可以通过SSH来远程执行。如果您使用的是Linux的桌面版，可以通过ssh的-X 或 -Y参数：</p>
<p><span id="more-1013"></span>litrin@litrin-laptop:~$ ssh -Y root@192.168.1.7<br />
Last login: Mon Jun  1 14:04:47 2009 from 192.168.103.1<br />
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005<br />
================================================================================</p>
<p>192.168.1.7       Oracle Server</p>
<p>================================================================================<br />
You have new mail.<br />
# env<br />
<span style="text-decoration: underline;">DISPLAY=localhost:10.0</span><br />
HOME=/<br />
LANG=zh_CN.UTF-8<br />
LOGNAME=root<br />
MAIL=/var/mail//root<br />
PATH=/usr/sbin:/usr/bin<br />
SHELL=/sbin/sh<br />
SSH_CLIENT=192.168.103.1 60802 22<br />
SSH_CONNECTION=192.168.103.1 60802 192.168.1.7 22<br />
SSH_TTY=/dev/pts/1<br />
TERM=xterm<br />
TZ=PRC<br />
USER=root</p>
<p>如果出现了DISPLAY变量则说明配置OK，随便可以执行一个桌面程序了。</p>
<p style="text-align: center;">
<div id="attachment_1015" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.litrin.net/wp-content/uploads/2009/06/x-forwarding.png"><img class="size-medium wp-image-1015" title="Ubuntu下x-forwarding Solaris 的 prodreg" src="http://www.litrin.net/wp-content/uploads/2009/06/x-forwarding-300x187.png" alt="Ubuntu下x-forwarding Solaris 的 prodreg" width="300" height="187" /></a><p class="wp-caption-text">Ubuntu下x-forwarding Solaris 的 prodreg</p></div>
<p>同样的在win+putty下，可以参照如下设置：</p>
<p style="text-align: center;">
<div id="attachment_1014" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.litrin.net/wp-content/uploads/2009/06/putty_x-forward.png"><img class="size-medium wp-image-1014" title="putty x-forwarding" src="http://www.litrin.net/wp-content/uploads/2009/06/putty_x-forward-300x288.png" alt="putty x-forward" width="300" height="288" />.</a><p class="wp-caption-text">putty x-forwarding</p></div>
<p>同时，在使用putty登录之前请开启本地的X server客户端，推荐 <a rel="nofollow" target="_blank" href="http://sourceforge.net/projects/xming" target="_blank">Xming<br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2009/06/01/ssh%e7%9a%84x%ef%bc%8dforwarding/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>说说Atom</title>
		<link>http://www.litrin.net/2009/05/31/%e8%af%b4%e8%af%b4atom/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25e8%25af%25b4%25e8%25af%25b4atom</link>
		<comments>http://www.litrin.net/2009/05/31/%e8%af%b4%e8%af%b4atom/#comments</comments>
		<pubDate>Sun, 31 May 2009 00:40:09 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[硬件相关]]></category>
		<category><![CDATA[服务器]]></category>
		<guid isPermaLink="false">http://www.litrin.net/?p=1004</guid>
		<description><![CDATA[Atom是Intel根据市场需求，专门推出的主要针对于上网本的低功耗平台。产品线定位上比赛扬还要再低一档。 一直对这款平台很感兴趣，前些日子，总算在新蛋买到了用于台式机的Atom主板。新蛋共有2款Atom平台，分别是230（单核）和330（双核）。开箱照如下： 看了官方的介绍，230单独CPU的功耗为4w，整个平台搭建好之后，功耗也能够控制在40W以内——要知道，单单一块E6600CPU的功耗官方的数据是65w。推广Atom有利于节能减排^_^。 由于功耗低，电源和散热方面也可以节省不少银子。同时，由于发热低的原因，整个平台非常稳定，能够长时间开机。在家很适合作为家用服务器，养骡子什么的。目前，我们公司已经用他定制了轻量级的服务器用于视频播出（硬件解压的，CPU无所谓）。下次litrin将尝试用他搭建一套LAMP并做简单的测试。 比较郁闷的是这块中规中矩的Intel原厂板只提供了2个Sata口，原本计划配合ZFS做文件服务器，考虑到无法但独做数据冗余，无奈只能暂时放弃。如果有Sata卡的话也是一个不错的选择。]]></description>
			<content:encoded><![CDATA[<p>Atom是Intel根据市场需求，专门推出的主要针对于上网本的低功耗平台。产品线定位上比赛扬还要再低一档。<br />
一直对这款平台很感兴趣，前些日子，总算在<a rel="nofollow" target="_blank" href="http://www.newegg.com.cn/">新蛋</a>买到了用于台式机的Atom主板。新蛋共有2款Atom平台，分别是230（单核）和330（双核）。开箱照如下：</p>
<p><span id="more-1004"></span></p>
<div id="attachment_1005" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-1005" title="Atom主板原包装" src="http://www.litrin.net/wp-content/uploads/2009/05/100_2352-300x225.jpg" alt="Atom主板原包装" width="300" height="225" /><p class="wp-caption-text">Atom主板原包装</p></div>
<div id="attachment_1006" class="wp-caption aligncenter" style="width: 235px"><img class="size-medium wp-image-1006" title="安装附件" src="http://www.litrin.net/wp-content/uploads/2009/05/100_2353-225x300.jpg" alt="安装附件" width="225" height="300" /><p class="wp-caption-text">安装附件</p></div>
<div id="attachment_1007" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-1007" title="主板" src="http://www.litrin.net/wp-content/uploads/2009/05/100_2354-300x225.jpg" alt="主板" width="300" height="225" /><p class="wp-caption-text">主板：风扇的其实是北桥，CPU不需要风扇。</p></div>
<div id="attachment_1008" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-1008" title="IO接口" src="http://www.litrin.net/wp-content/uploads/2009/05/100_2357-300x225.jpg" alt="IO接口" width="300" height="225" /><p class="wp-caption-text">IO接口</p></div>
<div id="attachment_1011" class="wp-caption aligncenter" style="width: 280px"><img class="size-medium wp-image-1011" title="CPU-Z" src="http://www.litrin.net/wp-content/uploads/2009/05/hdpl09025-e79a84e5b18fe5b995e688aae59bbe-270x300.png" alt="CPU-Z" width="270" height="300" /><p class="wp-caption-text">CPU-Z</p></div>
<p>看了官方的介绍，230单独CPU的功耗为4w，整个平台搭建好之后，功耗也能够控制在40W以内——要知道，单单一块E6600CPU的功耗官方的数据是65w。推广Atom有利于节能减排^_^。<br />
由于功耗低，电源和散热方面也可以节省不少银子。同时，由于发热低的原因，整个平台非常稳定，能够长时间开机。在家很适合作为家用服务器，养骡子什么的。目前，我们公司已经用他定制了轻量级的服务器用于视频播出（硬件解压的，CPU无所谓）。下次litrin将尝试用他搭建一套LAMP并做简单的测试。<br />
比较郁闷的是这块中规中矩的Intel原厂板只提供了2个Sata口，原本计划配合ZFS做文件服务器，考虑到无法但独做数据冗余，无奈只能暂时放弃。如果有Sata卡的话也是一个不错的选择。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2009/05/31/%e8%af%b4%e8%af%b4atom/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HP的iLO</title>
		<link>http://www.litrin.net/2008/01/10/hp%e7%9a%84ilo/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=hp%25e7%259a%2584ilo</link>
		<comments>http://www.litrin.net/2008/01/10/hp%e7%9a%84ilo/#comments</comments>
		<pubDate>Thu, 10 Jan 2008 06:37:12 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[硬件相关]]></category>
		<category><![CDATA[HP]]></category>
		<category><![CDATA[服务器]]></category>
		<guid isPermaLink="false">http://www.litrin.net/?p=476</guid>
		<description><![CDATA[iLO 是一组芯片，内部是vxworks的迁入操作系统,在服务器的背后有一个标准RJ45口对外连接生产用交换机或者带外管理的交换机. iLO自己有处理器，存储和网卡，默认网卡配置是DHCP,可以在服务器启动的是欧进入iLO 的ROM based configuration utility 修改 ip, dpch-&#62;;static.服务器买的时候，在面板左侧，会有一个白色的纸吊牌，上面写着iLO 网卡上的DNS name和 Username Password. 请勿随便更改，更改了不要遗失. iLO的使用很简单.用网线把iLO口和你的LAN switch或者专门的OB switch 相连.如果你准备让iLO 默认方式工作，你需要有一个 LAN内的DHCP和DNS 服务器存在. 如果你在服务器启动的时候修改dhcp 到static ip,就无所谓了.在你的笔记本或者pc上，开一个IE(支持java), 然后地址那里书写 iLO DNS name(写在纸吊牌上的，你需要DHCP DNS 服务器在局域网内). 就可以看到iLO界面了. 或者直接填写iLO的ip地址也可以. iLO界面除了报告一些硬件信息之外，主要提供了三大类控制:Virtual console, 就是类似pc anywhere 的远程控制了，但是和软件的控制不一样，它是完全硬件级的，哪怕你的服务器没有操作系统，或者硬盘损坏，或者重新启动，都可以完整的进行控制，所以除非更换被管理服务器的硬件，正常的操作都可以用iLO来做，根本不用进入机房.(当然得保证网络通畅).第二类是 Virtual power, 虚拟电源，模拟所有的电源开关动作，比如按住不放，按住就放等等&#8230;第三类是Virtual media ,虚拟介质，你可以将pc或者笔记本上的光驱软驱，通过LAN, 虚拟给被管理的服务器。这个主要是用来安装操作系统，或者传输数据，打补丁之类的。比如那个被管理服务器是新的，没有操作系统，硬盘也没有作阵列，我怎么结合上面的三类控制手段来稿呢？1. 用virtual power重启动服务器2. 用virtual console 远程操作服务器，在服务器启动的POST时候，进入 G4服务器的Smart array 6i Rom based utility [...]]]></description>
			<content:encoded><![CDATA[<p>iLO 是一组芯片，内部是vxworks的迁入操作系统,在服务器的背后有一个标准RJ45口对外连接生产用交换机或者带外管理的交换机.</p>
<p>iLO自己有处理器，存储和网卡，默认网卡配置是DHCP,可以在服务器启动的是欧进入iLO 的ROM based configuration utility 修改 ip, dpch-&gt;;static.服务器买的时候，在面板左侧，会有一个白色的纸吊牌，上面写着iLO 网卡上的DNS name和 Username Password. 请勿随便更改，更改了不要遗失.</p>
<p>iLO的使用很简单.用网线把iLO口和你的LAN switch或者专门的OB switch 相连.如果你准备让iLO 默认方式工作，你需要有一个 LAN内的DHCP和DNS 服务器存在. 如果你在服务器启动的时候修改dhcp 到static ip,就无所谓了.在你的笔记本或者pc上，开一个IE(支持java), 然后地址那里书写 iLO DNS name(写在纸吊牌上的，你需要DHCP DNS 服务器在局域网内). 就可以看到iLO界面了. 或者直接填写iLO的ip地址也可以.</p>
<p>iLO界面除了报告一些硬件信息之外，主要提供了三大类控制:Virtual console, 就是类似pc anywhere 的远程控制了，但是和软件的控制不一样，它是完全硬件级的，哪怕你的服务器没有操作系统，或者硬盘损坏，或者重新启动，都可以完整的进行控制，所以除非更换被管理服务器的硬件，正常的操作都可以用iLO来做，根本不用进入机房.(当然得保证网络通畅).第二类是 Virtual power, 虚拟电源，模拟所有的电源开关动作，比如按住不放，按住就放等等&#8230;第三类是Virtual media ,虚拟介质，你可以将pc或者笔记本上的光驱软驱，通过LAN, 虚拟给被管理的服务器。这个主要是用来安装操作系统，或者传输数据，打补丁之类的。比如那个被管理服务器是新的，没有操作系统，硬盘也没有作阵列，我怎么结合上面的三类控制手段来稿呢？1. 用virtual power重启动服务器2. 用virtual console 远程操作服务器，在服务器启动的POST时候，进入 G4服务器的Smart array 6i Rom based utility 进行阵列配置3. 用virtual console 远程操作服务器，在服务器POST完毕的结束阶段，F9进入系统的BIOS,我们行话叫RBSU 进行配置4. 用virtual media 将我本地笔记本或者pc的光驱虚拟出去，然后在我本地的光驱中，放windows/linux等的安装盘.5. 远端的被管理服务器以为自己插了一个usb 光驱，或者软驱，然后按照大家熟悉的正常方式从光盘软盘启动，不过却是用的我本地的盘.6. 你在virtual console 里面进行和平时一样的安装操作.有一点要注意，默认的服务器买来，iLO 是不支持图形界面的，也就是说，当你virtual console里面的远程服务器开始进入windows, X-windows的时候，你本地pc,笔记本的IE 就看不出远端的画面了，你需要向hp购买iLO advanced pack, 一个iLO serial number, 把这个iLO serial<br />
number输入到iLO的一个专门输入注册号的地方，就可以突破这个限制了，不过远端如果是linux,并且是字符界面，就无所谓买不买了.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2008/01/10/hp%e7%9a%84ilo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sun终发Intel服务器</title>
		<link>http://www.litrin.net/2007/06/06/sun%e7%bb%88%e5%8f%91intel%e6%9c%8d%e5%8a%a1%e5%99%a8/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=sun%25e7%25bb%2588%25e5%258f%2591intel%25e6%259c%258d%25e5%258a%25a1%25e5%2599%25a8</link>
		<comments>http://www.litrin.net/2007/06/06/sun%e7%bb%88%e5%8f%91intel%e6%9c%8d%e5%8a%a1%e5%99%a8/#comments</comments>
		<pubDate>Wed, 06 Jun 2007 08:08:40 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[开源7788]]></category>
		<category><![CDATA[硬件相关]]></category>
		<category><![CDATA[服务器]]></category>
		<guid isPermaLink="false">http://www.litrin.net/?p=451</guid>
		<description><![CDATA[虽然Sun和Intel一向势不两立，但在商场上，没有永远的朋友也没有永远的敌人。今年2月底，Sun和Intel就达成了合作协议，其中Sun将推出基于Intel Xeon处理器的服务器产品，Intel则支持Sun Solaris服务器操作系统。 &#160; 今天，Sun终于推出了采用Intel Xeon处理器的服务器，也迈出了打造包括单路、双路、四路、八路在内的完整Xeon服务器产品线的第一步。 Sun的Intel Xeon刀片式服务器隶属于Blade 6000系列，具体型号Blade X6250，可使用两颗Intel Xeon处理器，双核心和四核心均可。配合Sun的10 RU机架，整套系统可提供320个处理器核心，内存总量2.5TB。 价格上，一颗四核心Xeon E5320 1.86GHz加2GB内存的话需要3700美元，两颗四核心Xeon X5355 2.66GHz加32GB内存则要26000美元；选择双核心Xeon的话只有3.0GHz一种频率，搭配8GB内存，要价6600美元。 Blade 6000系列同时还可以采用Sun UltraSparc T1处理器或者AMD Opteron处理器，型号T6300或X6250，分别面向单路和双路应用，价格根据配置不同从4000美元到42000美元不等。出于谨慎和尊重客户选择的考虑，Sun没有根据处理器品牌不同单独划分产品系列，而是放在了一起。]]></description>
			<content:encoded><![CDATA[<p>虽然Sun和Intel一向势不两立，但在商场上，没有永远的朋友也没有永远的敌人。今年2月底，Sun和Intel就达成了合作协议，其中Sun将推出基于Intel Xeon处理器的服务器产品，Intel则支持Sun Solaris服务器操作系统。</p>
<p>&nbsp;</p>
<p>今天，Sun终于推出了采用Intel Xeon处理器的服务器，也迈出了打造包括单路、双路、四路、八路在内的完整Xeon服务器产品线的第一步。</p>
<p>Sun的Intel Xeon刀片式服务器隶属于Blade 6000系列，具体型号<strong>Blade X6250</strong>，可使用两颗Intel Xeon处理器，双核心和四核心均可。配合Sun的10 RU机架，整套系统可提供320个处理器核心，内存总量2.5TB。</p>
<p>价格上，一颗四核心Xeon E5320 1.86GHz加2GB内存的话需要3700美元，两颗四核心Xeon X5355 2.66GHz加32GB内存则要26000美元；选择双核心Xeon的话只有3.0GHz一种频率，搭配8GB内存，要价6600美元。</p>
<p>Blade 6000系列同时还可以采用Sun UltraSparc T1处理器或者AMD Opteron处理器，型号T6300或X6250，分别面向单路和双路应用，价格根据配置不同从4000美元到42000美元不等。出于谨慎和尊重客户选择的考虑，Sun没有根据处理器品牌不同单独划分产品系列，而是放在了一起。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2007/06/06/sun%e7%bb%88%e5%8f%91intel%e6%9c%8d%e5%8a%a1%e5%99%a8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DAS、NAS、SAN</title>
		<link>http://www.litrin.net/2007/04/18/das%e3%80%81nas%e3%80%81san/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=das%25e3%2580%2581nas%25e3%2580%2581san</link>
		<comments>http://www.litrin.net/2007/04/18/das%e3%80%81nas%e3%80%81san/#comments</comments>
		<pubDate>Wed, 18 Apr 2007 07:10:28 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[硬件相关]]></category>
		<category><![CDATA[服务器]]></category>
		<guid isPermaLink="false">http://www.litrin.net/?p=446</guid>
		<description><![CDATA[目前磁盘存储市场上，存储分类（如下表一）根据服务器类型分为：封闭系统的存储和开放系统的存储，封闭系统主要指大型机，AS400等服务器，开放系统指基于包括Windows、UNIX、Linux等操作系统的服务器；开放系统的存储分为：内置存储和外挂存储；开放系统的外挂存储根据连接的方式分为：直连式存储（Direct-Attached Storage，简称DAS）和网络化存储（Fabric-Attached Storage，简称FAS）；开放系统的网络化存储根据传输协议又分为：网络接入存储（Network-Attached Storage，简称NAS）和存储区域网络（Storage Area Network，简称SAN）。由于目前绝大部分用户采用的是开放系统，其外挂存储占有目前磁盘存储市场的70%以上，因此本文主要针对开放系统的外挂存储进行论述说明。 　　表一： 　　 　　今天的存储解决方案主要为：直连式存储（DAS）、存储区域网络（SAN）、网络接入存储（NAS）。如下表二： 　　开放系统的直连式存储（Direct-Attached Storage，简称DAS）已经有近四十年的使用历史，随着用户数据的不断增长，尤其是数百GB以上时，其在备份、恢复、扩展、灾备等方面的问题变得日益困扰系统管理员。 　　主要问题和不足为： 　　直连式存储依赖服务器主机操作系统进行数据的IO读写和存储维护管理，数据备份和恢复要求占用服务器主机资源（包括CPU、系统IO等），数据流需要回流主机再到服务器连接着的磁带机（库），数据备份通常占用服务器主机资源20-30%，因此许多企业用户的日常数据备份常常在深夜或业务系统不繁忙时进行，以免影响正常业务系统的运行。直连式存储的数据量越大，备份和恢复的时间就越长，对服务器硬件的依赖性和影响就越大。 　　直连式存储与服务器主机之间的连接通道通常采用SCSI连接，带宽为10MB/s、20MB/s、40MB/s、80MB/s等，随着服务器CPU的处理能力越来越强，存储硬盘空间越来越大，阵列的硬盘数量越来越多，SCSI通道将会成为IO瓶颈；服务器主机SCSI ID资源有限，能够建立的SCSI通道连接有限。 　　无论直连式存储还是服务器主机的扩展，从一台服务器扩展为多台服务器组成的群集(Cluster)，或存储阵列容量的扩展，都会造成业务系统的停机，从而给企业带来经济损失，对于银行、电信、传媒等行业7&#215;24小时服务的关键业务系统，这是不可接受的。并且直连式存储或服务器主机的升级扩展，只能由原设备厂商提供，往往受原设备厂商限制。 　　存储区域网络（Storage Area Network，简称SAN）采用光纤通道（Fibre Channel）技术，通过光纤通道交换机连接存储阵列和服务器主机，建立专用于数据存储的区域网络。SAN经过十多年历史的发展，已经相当成熟，成为业界的事实标准（但各个厂商的光纤交换技术不完全相同，其服务器和SAN存储有兼容性的要求）。SAN存储采用的带宽从100MB/s、200MB/s，发展到目前的1Gbps、2Gbps。 　　网络接入存储（Network-Attached Storage，简称NAS）采用网络（TCP/IP、ATM、FDDI）技术，通过网络交换机连接存储系统和服务器主机，建立专用于数据存储的存储私网。随着IP网络技术的发展，网络接入存储（NAS）技术发生质的飞跃。早期80年代末到90年代初的10Mbps带宽，网络接入存储作为文件服务器存储，性能受带宽影响；后来快速以太网（100Mbps）、VLAN虚网、Trunk(Ethernet Channel) 以太网通道的出现，网络接入存储的读写性能得到改善；1998年千兆以太网（1000Mbps）的出现和投入商用，为网络接入存储（NAS）带来质的变化和市场广泛认可。由于网络接入存储采用TCP/IP网络进行数据交换，TCP/IP是IT业界的标准协议，不同厂商的产品（服务器、交换机、NAS存储）只要满足协议标准就能够实现互连互通，无兼容性的要求；并且2002年万兆以太网（10000Mbps）的出现和投入商用，存储网络带宽将大大提高NAS存储的性能。NAS需求旺盛已经成为事实。首先NAS几乎继承了磁盘列阵的所有优点，可以将设备通过标准的网络拓扑结构连接，摆脱了服务器和异构化构架的桎梏；其次，在企业数据量飞速膨胀中，SAN、大型磁带库、磁盘柜等产品虽然都是很好的存储解决方案，但他们那高贵的身份和复杂的操作是资金和技术实力有限的中小企业无论如何也不能接受的。NAS正是满足这种需求的产品，在解决足够的存储和扩展空间的同时，还提供极高的性价比。因此，无论是从适用性还是TCO的角度来说，NAS自然成为多数企业，尤其是大中小企业的最佳选择。 　　NAS与SAN的分析与比较 　　针对I/O是整个网络系统效率低下的瓶颈问题，专家们提出了许多种解决办法。其中抓住症结并经过实践检验为最有效的办法是：将数据从通用的应用服务器中分离出来以简化存储管理。 　　问题： 图 1 　　由图1可知原来存在的问题：每个新的应用服务器都要有它自己的存储器。这样造成数据处理复杂，随着应用服务器的不断增加，网络系统效率会急剧下降。 　　解决办法： 图 2 　　从图2可看出：将存储器从应用服务器中分离出来，进行集中管理。这就是所说的存储网络（Storage Networks）。 　　使用存储网络的好处： 　　统一性：形散神不散，在逻辑上是完全一体的。 　　实现数据集中管理，因为它们才是企业真正的命脉。 　　容易扩充，即收缩性很强。 　　具有容错功能，整个网络无单点故障。 　　专家们针对这一办法又采取了两种不同的实现手段，即NAS（Network Attached Storage）网络接入存储和SAN(Storage Area Networks)存储区域网络。 　　NAS：用户通过TCP/IP协议访问数据，采用业界标准文件共享协议如：NFS、HTTP、CIFS实现共享。 　　SAN：通过专用光纤通道交换机访问数据，采用SCSI、FC-AL接口。 　　什么是NAS和SAN的根本不同点？ 　　NAS和SAN最本质的不同就是文件管理系统在哪里。如图： 图3 　　由图3可以看出，SAN结构中，文件管理系统（FS）还是分别在每一个应用服务器上；而NAS则是每个应用服务器通过网络共享协议（如：NFS、CIFS）使用同一个文件管理系统。换句话说：NAS和SAN存储系统的区别是NAS有自己的文件系统管理。 　　NAS是将目光集中在应用、用户和文件以及它们共享的数据上。SAN是将目光集中在磁盘、磁带以及联接它们的可靠的基础结构。将来从桌面系统到数据集中管理到存储设备的全面解决方案将是NAS加SAN。]]></description>
			<content:encoded><![CDATA[<p>目前磁盘存储市场上，存储分类（如下表一）根据服务器类型分为：封闭系统的存储和开放系统的存储，封闭系统主要指大型机，AS400等服务器，开放系统指基于包括Windows、UNIX、Linux等操作系统的服务器；开放系统的存储分为：内置存储和外挂存储；开放系统的外挂存储根据连接的方式分为：直连式存储（Direct-Attached Storage，简称DAS）和网络化存储（Fabric-Attached Storage，简称FAS）；开放系统的网络化存储根据传输协议又分为：网络接入存储（Network-Attached Storage，简称NAS）和存储区域网络（Storage Area Network，简称SAN）。由于目前绝大部分用户采用的是开放系统，其外挂存储占有目前磁盘存储市场的70%以上，因此本文主要针对开放系统的外挂存储进行论述说明。<!--break--></p>
<p>　　表一： <br />
　　
</p>
<p><center><img alt="" src="http://it.com.cn/f/server/053/21/050321_sv_zd_1.gif" /></center></p>
<p>　　今天的存储解决方案主要为：直连式存储（DAS）、存储区域网络（SAN）、网络接入存储（NAS）。如下表二： <br />
<center><img alt="" src="http://it.com.cn/f/server/053/21/050321_sv_zd_2.gif" /></center></p>
<p>
　　开放系统的直连式存储（Direct-Attached Storage，简称DAS）已经有近四十年的使用历史，随着用户数据的不断增长，尤其是数百GB以上时，其在备份、恢复、扩展、灾备等方面的问题变得日益困扰系统管理员。 </p>
<p>　　主要问题和不足为： <br />
　　直连式存储依赖服务器主机操作系统进行数据的IO读写和存储维护管理，数据备份和恢复要求占用服务器主机资源（包括CPU、系统IO等），数据流需要回流主机再到服务器连接着的磁带机（库），数据备份通常占用服务器主机资源20-30%，因此许多企业用户的日常数据备份常常在深夜或业务系统不繁忙时进行，以免影响正常业务系统的运行。直连式存储的数据量越大，备份和恢复的时间就越长，对服务器硬件的依赖性和影响就越大。 </p>
<p>　　直连式存储与服务器主机之间的连接通道通常采用SCSI连接，带宽为10MB/s、20MB/s、40MB/s、80MB/s等，随着服务器CPU的处理能力越来越强，存储硬盘空间越来越大，阵列的硬盘数量越来越多，SCSI通道将会成为IO瓶颈；服务器主机SCSI ID资源有限，能够建立的SCSI通道连接有限。 </p>
<p>　　无论直连式存储还是服务器主机的扩展，从一台服务器扩展为多台服务器组成的群集(Cluster)，或存储阵列容量的扩展，都会造成业务系统的停机，从而给企业带来经济损失，对于银行、电信、传媒等行业7&times;24小时服务的关键业务系统，这是不可接受的。并且直连式存储或服务器主机的升级扩展，只能由原设备厂商提供，往往受原设备厂商限制。 </p>
<p>　　存储区域网络（Storage Area Network，简称SAN）采用光纤通道（Fibre Channel）技术，通过光纤通道交换机连接存储阵列和服务器主机，建立专用于数据存储的区域网络。SAN经过十多年历史的发展，已经相当成熟，成为业界的事实标准（但各个厂商的光纤交换技术不完全相同，其服务器和SAN存储有兼容性的要求）。SAN存储采用的带宽从100MB/s、200MB/s，发展到目前的1Gbps、2Gbps。 </p>
<p>　　网络接入存储（Network-Attached Storage，简称NAS）采用网络（TCP/IP、ATM、FDDI）技术，通过网络交换机连接存储系统和服务器主机，建立专用于数据存储的存储私网。随着IP网络技术的发展，网络接入存储（NAS）技术发生质的飞跃。早期80年代末到90年代初的10Mbps带宽，网络接入存储作为文件服务器存储，性能受带宽影响；后来快速以太网（100Mbps）、VLAN虚网、Trunk(Ethernet Channel) 以太网通道的出现，网络接入存储的读写性能得到改善；1998年千兆以太网（1000Mbps）的出现和投入商用，为网络接入存储（NAS）带来质的变化和市场广泛认可。由于网络接入存储采用TCP/IP网络进行数据交换，TCP/IP是IT业界的标准协议，不同厂商的产品（服务器、交换机、NAS存储）只要满足协议标准就能够实现互连互通，无兼容性的要求；并且2002年万兆以太网（10000Mbps）的出现和投入商用，存储网络带宽将大大提高NAS存储的性能。NAS需求旺盛已经成为事实。首先NAS几乎继承了磁盘列阵的所有优点，可以将设备通过标准的网络拓扑结构连接，摆脱了服务器和异构化构架的桎梏；其次，在企业数据量飞速膨胀中，SAN、大型磁带库、磁盘柜等产品虽然都是很好的存储解决方案，但他们那高贵的身份和复杂的操作是资金和技术实力有限的中小企业无论如何也不能接受的。NAS正是满足这种需求的产品，在解决足够的存储和扩展空间的同时，还提供极高的性价比。因此，无论是从适用性还是TCO的角度来说，NAS自然成为多数企业，尤其是大中小企业的最佳选择。 </p>
<p>　　<strong>NAS与SAN的分析与比较</strong></p>
<p>　　针对I/O是整个网络系统效率低下的瓶颈问题，专家们提出了许多种解决办法。其中抓住症结并经过实践检验为最有效的办法是：将数据从通用的应用服务器中分离出来以简化存储管理。 </p>
<p>　　问题： </p>
<p><center><img alt="" src="http://it.com.cn/f/server/053/21/050321_sv_zd_3.gif" /><br />
图 1 </center></p>
<p>　　由图1可知原来存在的问题：每个新的应用服务器都要有它自己的存储器。这样造成数据处理复杂，随着应用服务器的不断增加，网络系统效率会急剧下降。</p>
<p>　　解决办法： </p>
<p><center><img alt="" src="http://it.com.cn/f/server/053/21/050321_sv_zd_4.gif" /><br />
图 2 </center></p>
<p>　　从图2可看出：将存储器从应用服务器中分离出来，进行集中管理。这就是所说的存储网络（Storage Networks）。</p>
<p>　　使用存储网络的好处：</p>
<p>　　统一性：形散神不散，在逻辑上是完全一体的。 <br />
　　实现数据集中管理，因为它们才是企业真正的命脉。 <br />
　　容易扩充，即收缩性很强。 <br />
　　具有容错功能，整个网络无单点故障。 </p>
<p>　　专家们针对这一办法又采取了两种不同的实现手段，即NAS（Network Attached Storage）网络接入存储和SAN(Storage Area Networks)存储区域网络。 </p>
<p>　　NAS：用户通过TCP/IP协议访问数据，采用业界标准文件共享协议如：NFS、HTTP、CIFS实现共享。 <br />
　　SAN：通过专用光纤通道交换机访问数据，采用SCSI、FC-AL接口。 </p>
<p>　　什么是NAS和SAN的根本不同点？ <br />
　　NAS和SAN最本质的不同就是文件管理系统在哪里。如图： </p>
<p><center><img alt="" src="http://it.com.cn/f/server/053/21/050321_sv_zd_5.gif" /><br />
图3 </center></p>
<p>　　由图3可以看出，SAN结构中，文件管理系统（FS）还是分别在每一个应用服务器上；而NAS则是每个应用服务器通过网络共享协议（如：NFS、CIFS）使用同一个文件管理系统。换句话说：NAS和SAN存储系统的区别是NAS有自己的文件系统管理。 </p>
<p>　　NAS是将目光集中在应用、用户和文件以及它们共享的数据上。SAN是将目光集中在磁盘、磁带以及联接它们的可靠的基础结构。将来从桌面系统到数据集中管理到存储设备的全面解决方案将是NAS加SAN。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2007/04/18/das%e3%80%81nas%e3%80%81san/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>免费的unix测试机</title>
		<link>http://www.litrin.net/2007/03/20/%e5%85%8d%e8%b4%b9%e7%9a%84unix%e6%b5%8b%e8%af%95%e6%9c%ba/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25e5%2585%258d%25e8%25b4%25b9%25e7%259a%2584unix%25e6%25b5%258b%25e8%25af%2595%25e6%259c%25ba</link>
		<comments>http://www.litrin.net/2007/03/20/%e5%85%8d%e8%b4%b9%e7%9a%84unix%e6%b5%8b%e8%af%95%e6%9c%ba/#comments</comments>
		<pubDate>Tue, 20 Mar 2007 00:40:36 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[服务器]]></category>
		<guid isPermaLink="false">http://www.litrin.net/?p=440</guid>
		<description><![CDATA[今天收到了一封来自Gceclube的电子邮件，邀请我注册以获得一个远程Solaris服务器的测试帐户，注册地址如下： http://www.unix-center.net/ 注册之后，就可以用putty这类的工具访问远程主机了。有需要的朋友去注册了，据说6月30日之前注册的用户还有机会抽奖。]]></description>
			<content:encoded><![CDATA[<p>今天收到了一封来自Gceclube的电子邮件，邀请我注册以获得一个远程Solaris服务器的测试帐户，注册地址如下：</p>
<p><a rel="nofollow" target="_blank" target="_blank" href="http://www.unix-center.net/">http://www.unix-center.net/</a></p>
<p>
注册之后，就可以用putty这类的工具访问远程主机了。有需要的朋友去注册了，据说6月30日之前注册的用户还有机会抽奖。</p>
<p><img height="378" width="600" alt="" src="/UserFiles/Image/solaris-test.png" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2007/03/20/%e5%85%8d%e8%b4%b9%e7%9a%84unix%e6%b5%8b%e8%af%95%e6%9c%ba/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
