<?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>Raid &#8211; richliu&#039;s blog</title>
	<atom:link href="https://blog.richliu.com/tag/raid/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.richliu.com</link>
	<description>Linux, 工作, 生活, 家人</description>
	<lastBuildDate>Wed, 13 Jul 2022 11:45:00 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.2</generator>
	<item>
		<title>kubuntu 14.04 Desktop Install on Raid Disk</title>
		<link>https://blog.richliu.com/2015/01/21/1736/kubuntu-14-04-desktop-install-on-raid-disk/</link>
					<comments>https://blog.richliu.com/2015/01/21/1736/kubuntu-14-04-desktop-install-on-raid-disk/#respond</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Wed, 21 Jan 2015 13:48:39 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[mdadm]]></category>
		<category><![CDATA[Raid]]></category>
		<category><![CDATA[Software Raid]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">http://blog.richliu.com/?p=1736</guid>

					<description><![CDATA[<p>ubuntu or kubuntu desktop 版都不支援安裝在 raid 的設備上, 所以需要一些技巧繞 [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2015/01/21/1736/kubuntu-14-04-desktop-install-on-raid-disk/">kubuntu 14.04 Desktop Install on Raid Disk</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>ubuntu or kubuntu desktop 版都不支援安裝在 raid 的設備上, 所以需要一些技巧繞過去.</p>
<p>目前看到寫的最簡單的就是這一篇了.</p>
<p><a class="question-hyperlink" href="http://askubuntu.com/questions/505446/how-to-install-ubuntu-14-04-with-raid-1-using-desktop-installer" target="_blank" rel="noopener">How to Install Ubuntu 14.04 with RAID 1 using desktop installer?</a></p>
<pre><code>apt-get install mdadm
mdadm --create /dev/md0 --bitmap=internal --level=1 -n 2 /dev/sda1 missing
fdisk /dev/md0</code></pre>
<p>會產生 /dev/md0p1 /dev/md0p2 /dev/md0p3</p>
<p>用 try ubuntu 在 console 下這個指令安裝, 要做點小手腳</p>
<pre><code>ubiquity -b</code></pre>
<p>安裝的時候要選 /dev/md0p1 /dev/md0p2 /dev/md0p3 不要選別的.</p>
<p>安裝完之後, 要重新安裝 grub</p>
<pre><code>sudo -s
mount /dev/md0p1 /mnt
mount -o bind /dev /mnt/dev
mount -o bind /dev/pts /mnt/dev/pts
mount -o bind /sys /mnt/sys
mount -o bind /proc /mnt/proc
chroot /mnt
apt-get install mdadm
nano /etc/grub.d/10_linux  # change quick_boot to 0
grub-install /dev/sda
grub-install /dev/sdb
update-grub
exit
</code></pre>
<p>如果 /etc/grub.d/10_linux quick_boot 沒有設成 0<br />
開機會出現</p>
<pre><code>error:  Diskfilter writes are not supported</code></pre>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2015/01/21/1736/kubuntu-14-04-desktop-install-on-raid-disk/">kubuntu 14.04 Desktop Install on Raid Disk</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.richliu.com/2015/01/21/1736/kubuntu-14-04-desktop-install-on-raid-disk/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Raid 5 重建的機率很低嗎?</title>
		<link>https://blog.richliu.com/2014/12/29/1725/raid-5-%e7%9a%84%e5%8f%af%e7%94%a8%e6%80%a7/</link>
					<comments>https://blog.richliu.com/2014/12/29/1725/raid-5-%e7%9a%84%e5%8f%af%e7%94%a8%e6%80%a7/#respond</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Sun, 28 Dec 2014 17:27:29 +0000</pubDate>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[failure rate]]></category>
		<category><![CDATA[Raid]]></category>
		<category><![CDATA[URE]]></category>
		<guid isPermaLink="false">http://blog.richliu.com/?p=1725</guid>

					<description><![CDATA[<p>最近看到一篇文章講 Raid 5 重建的機率很低. [心得] 警告！不要再用Raid 5了！ 主要論述是因為計 [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2014/12/29/1725/raid-5-%e7%9a%84%e5%8f%af%e7%94%a8%e6%80%a7/">Raid 5 重建的機率很低嗎?</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>最近看到一篇文章講 Raid 5 重建的機率很低.<br />
<a href="https://www.ptt.cc/bbs/Storage_Zone/M.1419542936.A.B8A.html" target="_blank" rel="noopener"><span class="article-meta-value">[心得] 警告！不要再用Raid 5了！</span></a></p>
<p>主要論述是因為計算 URE(<span class="f3 hl">uncorrectable read error</span> or Non-recoverable read errors per bits read) 這個參數. 不過我認為他犯了一個很基礎的錯誤, 誤將機率當作一定會發生.<br />
&#8220;<strong>平均每讀取12.5TB，就會讀到1位元壞掉、且無法修復的資料。</strong>&#8221;</p>
<p>不止他, 有些外國網站或文章也提到同樣的事情<br />
ex: <a href="http://www.raid-failure.com/raid5-failure.aspx" target="_blank" rel="noopener">RAID failures</a></p>
<p>很抱歉的是, 我沒有查到 URE 的定義, 或是廠商怎麼測量他的, 目前只有在 <a href="http://www.wdc.com/wdproducts/library/SpecSheet/ENG/2879-771444.pdf" target="_blank" rel="noopener">WD 的 Datacenter Capacity HDD</a>內. 找到一小段話. &#8220;No <span class="highlight selected">non-recover</span>able errors during operating tests or after non-operating tests&#8221;.<br />
不過這個小標並沒有標在該標的位置, 所以我不確定是不是講該段. 不過也有可能是講整個測試過程.</p>
<p>當然, 如果是像原文講到 4TB Raid5 重建出錯的機率是 72.6% 的數字, 那做 Raid 的廠商早就罵翻天了. 合理的 failure rate 的應該是如何呢?<br />
我認為這一篇比較合理 <a href="http://evadman.blogspot.tw/2010/08/raid-array-failure-probabilities.html" target="_blank" rel="noopener">RAID array failure probabilities<br />
</a>這篇採用的是 MTBF, 所以估出來的數字是這樣</p>
<p style="padding-left: 30px;">In terms of probability of failure over the life of the array (3 years):<br />
RAID0 &#8211; 10.5%<br />
RAID5 &#8211; 0.000105%<br />
RAID10 &#8211; 0.0000525%<br />
RAID6 &#8211; 0.00000000000105%</p>
<p>合理多了, 不是嗎?</p>
<p>那 URE 的定義是什麼呢? 為什麼明明沒有還是要生出一個數字.<br />
我認為應該和泛科學這篇講核電廠危機的是相關的<a href="http://pansci.tw/archives/72809" target="_blank" rel="noopener">從好像不太準的千萬分之一，到有點危言聳聽的24%，核災機率到底怎麼算？</a></p>
<p>應該是從讀取, 線路, 元件, 控制器, 等等這一串, 每一個部份都有其出問題的機率, 綜合起來就是 10^-16 ~ 10^-18 了. 但是是不是會出問題呢? 不一定. 但是廠商就保證二個 bit 在這個區間不會出現 URE 了</p>
<p>這根本是一個對廠商放水的數字呀&#8230;</p>
<p>ref. http://www.raidtips.com/raid5-ure.aspx</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2014/12/29/1725/raid-5-%e7%9a%84%e5%8f%af%e7%94%a8%e6%80%a7/">Raid 5 重建的機率很低嗎?</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.richliu.com/2014/12/29/1725/raid-5-%e7%9a%84%e5%8f%af%e7%94%a8%e6%80%a7/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[Gentoo] 電腦升級案 32bit -&gt; 64bit Linux</title>
		<link>https://blog.richliu.com/2013/12/26/1583/gentoo-%e9%9b%bb%e8%85%a6%e5%8d%87%e7%b4%9a%e6%a1%88-32bit-64bit-linux/</link>
					<comments>https://blog.richliu.com/2013/12/26/1583/gentoo-%e9%9b%bb%e8%85%a6%e5%8d%87%e7%b4%9a%e6%a1%88-32bit-64bit-linux/#comments</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Thu, 26 Dec 2013 15:44:19 +0000</pubDate>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[4670t]]></category>
		<category><![CDATA[64bit]]></category>
		<category><![CDATA[boot]]></category>
		<category><![CDATA[gpt]]></category>
		<category><![CDATA[H87]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[mdadm]]></category>
		<category><![CDATA[Raid]]></category>
		<category><![CDATA[usb]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[安裝]]></category>
		<guid isPermaLink="false">http://blog.richliu.com/?p=1583</guid>

					<description><![CDATA[<p>最近發現有一台電腦己經有點舊了, 首先是電源供應器的風扇掛了, 這個電源供應該應該有十年了, 印像中還沒有支援 [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2013/12/26/1583/gentoo-%e9%9b%bb%e8%85%a6%e5%8d%87%e7%b4%9a%e6%a1%88-32bit-64bit-linux/">[Gentoo] 電腦升級案 32bit -&gt; 64bit Linux</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>最近發現有一台電腦己經有點舊了, 首先是電源供應器的風扇掛了, 這個電源供應該應該有十年了, 印像中還沒有支援新的 ATX 接頭, 當年好像是用很便宜的價格從瘋狂賣客買的.<br />
將電源風扇換成磁浮風扇之後, 似乎有好一點, 不過問題是, 很難開機, 還好這一台是一開就不關的 Server.<br />
但是最近工作型態改變, 而且我買了一個瓦特計(像<a href="http://smallpig01.blogspot.tw/2011/12/wanf-wf-d02a.html" target="_blank" rel="noopener">這樣</a>), 沒事就在量電腦的電量. 發現常常使用的測試用電腦瓦特數非常高, Intel Q6600 + ATI 4850 要耗用 200W 左右.</p>
<p>所以最近就在找下一代的解決方案. 目標高效低功耗PC.<br />
<span id="more-1583"></span><br />
接下來是新電腦清單<br />
CPU: <a href="http://ark.intel.com/zh-TW/products/75050/intel-core-i5-4670t-processor-6m-cache-up-to-3_30-ghz" target="_blank" rel="noopener">Intel i5-4670T 45W</a></p>
<p style="padding-left: 30px;">本來有考慮 <a href="http://ark.intel.com/zh-TW/products/75045/intel-core-i5-4570t-processor-4m-cache-up-to-3_60-ghz" target="_blank" rel="noopener">Intel i5-4570T</a>, Max TDP 少 10W, 但是速度比較快, 後來想想, 如果要 Multi-Thread 編 Code , 還要跑 VM 的話, 還是多核好一點. 所以後來就選 4670T. 不管是 4570T/4670T, 台灣都買不到, 只有向淘寶購物, 這也是我第一次跑去淘寶買東西. 不過搞進來花了不少時間, 不清楚轉運規則呀(而且淘寶網頁流程也寫的不清楚, 轉運公司更是複雜, 搞好久才知道原來洶寶上的電話才是該打的電話, 轉運公司的客服無法處理國際單). 弄進來這顆 CPU 是 QS 版, 雖然不是 ES 版(<a href="http://blog.yam.com/geniusoffice0716/article/59728220" target="_blank" rel="noopener">QS/ES差別</a>), 但是還是有點悶. (購入價是比 Tray 低一點啦, 4570T 有 BOX 價, 一般人可以考慮買這個). TRAY 的缺點是沒有風扇, 還好我之前有不小心多買一套 CPU 風扇, 所以將就著用&#8230;&#8230; Intel 為什麼不出 BOX 版&#8230; -_-!</p>
<p style="padding-left: 30px;">另外, 4670T 那個 Up To 3.3G 是指只開1核時, TurboBoost 可以到 3.3G, 四核全開只能到 2.9G. (我也被搞混一陣子過, 所以現在清楚了).<br />
詳情可以看這個網頁 <a href="http://www.intel.com/support/processors/corei5/sb/CS-032278.htm" target="_blank" rel="noopener">Intel® Core<img src="https://s.w.org/images/core/emoji/15.0.3/72x72/2122.png" alt="™" class="wp-smiley" style="height: 1em; max-height: 1em;" /> i5 Desktop Processor Turbo boost frequency table</a><br />
BIOS 還是有可以調整的選項, 我猜四核要跑 3.3G 也是可以, 只是 TDP 就不是 45W 了, Max TDP BIOS 內也可以調整(驚!!).</p>
<p>MotherBoard: <a href="https://www.google.com.tw/search?q=gigabyte+H87-D3H&amp;ie=utf-8&amp;oe=utf-8&amp;aq=t" target="_blank" rel="noopener">Gigabyte H87-D3H</a></p>
<p style="padding-left: 30px;">之前某一次用 ASUS 接 HDMI 還是 DVI 輸出有問題, 沒有辦法正確判斷電視種類, 但是 Gigabyte 的主機板 OK, 之後就都換 Gigabyte 的, 目前二塊在我手上還活的好好的, 所以第三塊還是用 Gigabyte 的. 也沒有特別的理由. 選這塊的原因是因為內建 Intel 網卡. 不過電腦機殼就只能選 ATX 了.</p>
<p>Power: 海韻 S12G 450W 金牌</p>
<p style="padding-left: 30px;">我承認我選 Power 就是看那家貨比較齊全就買那家的, 金牌 450W 很難選, 生產的不多, 這個也沒有模組化, 不過我用過模組化的 Power , 又不是會飛天會唱歌, 所以有和沒有都 OK. 至於金牌和銅牌的論述就算了, 我自己拿來做 Server 的, 省個 5% 也高興, 反正金牌和銅牌沒有差很多, 就當買心理因素吧 XD.</p>
<p>Case : <a href="http://www.coolermaster.com/product/Detail/case/mid-tower/silencio-550.html" target="_blank" rel="noopener">Cooler Master Silencio 550</a></p>
<p style="padding-left: 30px;">上一個 Case 是買 Antec 的 P280 靜音機殼, 其實沒有感覺很安靜. 比較起來, CM 550 用料和 P280 各有優缺點, 很難說誰好誰不好, 不過CM 550 有一個 SATA 插槽, 這個還不錯, 可以拿來 hot-plug 用. 硬碟是橫置, 免螺絲, 不過還是要拆背蓋才能裝 Power 和 Cable. 這樣設計沒有比較好, OK?<br />
不過我的 Antec P280 有一個墊子壞了, 寫信問代理商沒有回, 丟 FB 也還沒有回&#8230; 呃. 希望 CM 會好一點. 對了, CM 多一個 SD 插槽, Linux 下抓的到, 算是加分吧.</p>
<p>記憶體 : 用舊的KingSton DDR3-1067 (省錢 XD)</p>
<p>HDD : Seagate NAS 64M ST3000VN000</p>
<p style="padding-left: 30px;">3T 的硬碟要搞開機有點麻煩. 不過還是要用.</p>
<p>花了一些功夫的成果照<br />
<iframe src="https://www.flickr.com/photos/richliu_tw/11564910116/player/23248c6758" width="281" height="500" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
<p>接下來來是 Gentoo 安裝心得, 各位可以 END 看最後面了.</p>
<p>在做完了基本的 memory test 之後, 接下來就是開始安裝 Gentoo.<br />
*) Use Legacy BIOS<br />
首先第一件事情, 強迫BIOS使用 Legacy BIOS, UEFI 貌似也可以用, 不過我並不打算花時間研究這個, 而且這一台電腦並沒有要裝 Windows. (剛想到, 以前都拿舊電腦裝 Linux, 現在買新的裝 Linux. 十年河東十年河西呀&#8230;)</p>
<p>因為這次是要安裝 64Bit Linux, 所以是拿 kubuntu 13.10 x64 版開機.<br />
(P.S 這不是安裝手冊, 所以我只會記錄我覺得重要的部份).</p>
<p>*) Booting Disk.<br />
如何讓 BIOS 認到 3T 的硬碟是最重要的, 要安裝套件 gdisk 取代 fdisk. 忘了 parted 吧, 那是給 geek 用的 (誤)<br />
# apt-get install gdisk<br />
這時候還是用 kubuntu 哦&#8230;.</p>
<p>重點<br />
1) 要切一個 1M Partition 給 UEFI 用(我有預留,不確定不留可不可以)<br />
2) 沒有 Primary Partition 的概念了.<br />
3) Partition Code 不一樣, 第一個 Partition ID 是 EF02, Linux Raid 是 FD00</p>
<p>系統切四個, UEFI, System , Data, Swap , 看起來像這樣</p>
<p style="padding-left: 30px;">Disk /dev/sda: 5860533168 sectors, 2.7 TiB<br />
Logical sector size: 512 bytes<br />
Disk identifier (GUID): 601175B7-D96A-4316-AA27-856D195717F4<br />
Partition table holds up to 128 entries<br />
First usable sector is 34, last usable sector is 5860533134<br />
Partitions will be aligned on 2048-sector boundaries<br />
Total free space is 2014 sectors (1007.0 KiB)</p>
<p style="padding-left: 30px;">Number Start (sector) End (sector) Size Code Name<br />
1 2048 4095 1024.0 KiB EF02 BIOS boot partition<br />
2 4096 209719295 100.0 GiB FD00 Linux RAID<br />
3 209719296 5830086655 2.6 TiB FD00 Linux RAID<br />
4 5830086656 5860533134 14.5 GiB FD00 Linux RAID</p>
<p>接下來將 sda 的 partition copy 到 sdb 去<br />
# sgdisk -R=/dev/sdb /dev/sda<br />
重新亂數產生 sdb 的 UUID<br />
# sgdisk -G /dev/sdb<br />
大功告成, 接下來就可以檢查 sdb , 沒有問題之後就可以建 Raid 了.</p>
<p>Ref:<br />
<a class="smarterwiki-linkify" href="http://en.wikipedia.org/wiki/BIOS_Boot_Partition_%28GPT%29" target="_blank" rel="noopener">http://en.wikipedia.org/wiki/BIOS_Boot_Partition_%28GPT%29</a><br />
<a class="smarterwiki-linkify" href="http://forums.funtoo.org/viewtopic.php?pid=9944" target="_blank" rel="noopener">http://forums.funtoo.org/viewtopic.php?pid=9944</a></p>
<p>*) Create Raid / Format Disk<br />
可以參考我自己以前寫的文章(<a href="http://blog.richliu.com/2011/05/16/1078/" target="_blank">Linux Software Raid 系統轉移</a>)<br />
# modprobe raid1<br />
# apt-get install mdadm<br />
GRUB2 開機一定要 0.90 的 raid partition, 我沒有找到用新版也可以的文章, 不想賭人品.<br />
# mdadm &#8211;create /dev/md1 -l 1 -n 2 &#8211;metadata=0.90 /dev/sda2 missing<br />
其他不用應該沒關係.<br />
# mdadm &#8211;create /dev/md2 -l 1 -n 2 /dev/sda3 missing<br />
# mdadm &#8211;create /dev/md3 -l 1 -n 2 /dev/sda4 missing</p>
<p>先建一顆, 等到去睡覺的時候再 Sync .</p>
<p>Grub 1.97 之後有支援 ext4, 不過在 grub 內的 module name 還是叫 ext2.mod .<br />
# mkfs.ext4 /dev/md1<br />
# mkfs.ext4 /dev/md2<br />
# mkswap /dev/md3</p>
<p>* ) Download Gentoo stage3 x64 from server<br />
<a class="smarterwiki-linkify" href="ftp://ftp.twaren.net/Linux/Gentoo/releases/amd64/current-stage3" target="_blank" rel="noopener">ftp://ftp.twaren.net/Linux/Gentoo/releases/amd64/current-stage3</a></p>
<p>* ) Modify Gentoo Configure</p>
<p># mount &#8211;bind /proc proc<br />
# mount &#8211;bind /sys sys<br />
# mount &#8211;bind /dev dev<br />
# chroot disk</p>
<p>modify /etc/portage/make.conf<br />
# nano /etc/portage/make.conf</p>
<p>GENTOO_MIRRORS=&#8221;<br />
<a class="smarterwiki-linkify" href="ftp://ftp.twaren.net/Linux/Gentoo" target="_blank" rel="noopener">ftp://ftp.twaren.net/Linux/Gentoo</a><br />
<a class="smarterwiki-linkify" href="http://gentoo.oregonstate.edu" target="_blank" rel="noopener">http://gentoo.oregonstate.edu</a><br />
<a class="smarterwiki-linkify" href="ftp://ftp.nsysu.edu.tw/Unix-like/Gentoo/" target="_blank" rel="noopener">ftp://ftp.nsysu.edu.tw/Unix-like/Gentoo/</a><br />
&#8221;</p>
<p>SYNC=&#8221;rsync://rsync.tw.gentoo.org/gentoo-portage&#8221;</p>
<p>MAKEOPTS=&#8221;-j5&#8243;</p>
<p><a class="smarterwiki-linkify" href="https://wiki.gentoo.org/wiki/AMD64/FAQ" target="_blank" rel="noopener">https://wiki.gentoo.org/wiki/AMD64/FAQ</a></p>
<p># echo &#8220;nameserver 8.8.8.8&#8243; &gt; /etc/resolv.conf<br />
# emerge sync</p>
<p>修改 /etc/fstab<br />
用 blkid dump 出來之後, 填到 fstab 去<br />
# blkid<br />
# vim /etc/fstab<br />
/dev/md1: UUID=&#8221;a12d45e4-3eab-4f12-ba6a-111111111111&#8243; TYPE=&#8221;ext4&#8243;<br />
/dev/md2: UUID=&#8221;a34bb49d-6ecd-4f34-8a1b-222222222222&#8243; TYPE=&#8221;ext4&#8243;<br />
/dev/md3: UUID=&#8221;856c43d9-00ef-4756-9732-333333333333&#8243; TYPE=&#8221;swap&#8221;</p>
<p>After installation edit /etc/default/grub:</p>
<p>GRUB_CMDLINE_LINUX_DEFAULT=&#8221;root=/dev/md1 real_root=/dev/md1 rootfstype=ext4 net.ifnames=0&#8243;<br />
有人說加 domdadm, 不過對我沒有用, net.ifnames=0 就是用傳統的 ethernet 命名方式, 要不然 Gentoo 又要用 PredictableNetworkInterfaceNames 了.<br />
我覺得這個超麻煩的, 雖然安全一點, 不過我不喜歡.<br />
Ref. <a class="smarterwiki-linkify" href="http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/" target="_blank" rel="noopener">http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/</a></p>
<p># ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules<br />
另一種 Disable PredictableNetworkInterfaceNames 的方式</p>
<p>我後來在 Kernel 內有看到 Predictable Network Interface Name 的選項, 早知道後來要改很多次 Kernel , 就直接在 Kernel compile 時閹了它.</p>
<p>setlocale: LC_ALL: cannot change locale (zh_TW.UTF-8)<br />
解法參考：<a class="smarterwiki-linkify" href="http://ubuntuforums.org/showthread.php?t=1471876" target="_blank" rel="noopener">http://ubuntuforums.org/showthread.php?t=1471876</a></p>
<p>vim /etc/locale-gen<br />
add<br />
zh_TW UTF-8<br />
zh_TW.UTF-8 UTF-8</p>
<p>than<br />
# locale-gen</p>
<p>*) Install GRUB<br />
如果在 install GRUB 時有看到奇怪的字串像是<br />
Path `/boot/grub&#8217; is not readable by GRUB on boot.<br />
記得要裝 mdadm 才會正常</p>
<p># emerge mdadm<br />
兩個目錄一樣<br />
# ln -sf /boot/grub /boot/grub2<br />
# grub2-mkconfig -o /boot/grub2/grub.cfg<br />
# grub2-install /dev/sda<br />
# grub2-install /dev/sdb</p>
<p>如果有裝完 mdadm, grub 應該安全就沒有問題了</p>
<p>*) Linux Kernel<br />
RTC 和 USBSerial 相關的 Driver 要裝一裝.</p>
<p>如果要讓 lm_sensor 可以正常運作, it87 module 要 install<br />
所以要 edit /etc/conf.d/modules , 加上.<br />
modules=&#8221;it87 intel-agp nf_nat_pptp nf_nat_proto_gre&#8221;</p>
<p>*) X<br />
這是一個神奇的經驗, 我第一次知道原來 X 是不用設定任何東西的.<br />
首先按照<br />
<a class="smarterwiki-linkify" href="https://wiki.gentoo.org/wiki/Xorg/Configuration" target="_blank" rel="noopener">https://wiki.gentoo.org/wiki/Xorg/Configuration</a><br />
在 Kernel 加上<br />
[TEXT]<br />
&lt; *&gt; Intel 8xx/9xx/G3x/G4x/HD Graphics<br />
[*] Enable modesetting on intel by default<br />
[/TEXT]<br />
這選項非常重要.</p>
<p>edit /etc/portage/package.use<br />
加上<br />
x11-drivers/xf86-video-intel dri glamor sna udev uxa xvmc<br />
全開就對了.<br />
然後 X 就莫名奇妙的動起來了 (什麼 O_O)</p>
<p>*) MySQL ==&gt; MariaDB</p>
<p>MariaDB 是從 MySQL Fork 出來的 Project .<br />
<a class="smarterwiki-linkify" href="http://en.wikipedia.org/wiki/MariaDB" target="_blank" rel="noopener">http://en.wikipedia.org/wiki/MariaDB</a></p>
<p>大家都知道, MySQL 自從被 Oracle 拿到之後, 就千方百計的想要消滅它.<br />
不過這也無可厚非, business is business.</p>
<p>這邊就是直接搬 mysql db 過去, 用 mysql_upgrade 升級<br />
不過這邊有一個問題, mysql 自己的 innodb 似乎升不過去,<br />
可能要用 mysql_dump , 我自己那些 db 都是不重要的, 所以就&#8230;&#8230;</p>
<p># /etc/init.d/mysql stop<br />
# emerge -1 mariadb<br />
# /etc/init.d/mysql start<br />
# mysql_upgrade -u root -p<br />
# mysqlcheck &#8211;repair &#8211;all-databases -u root -p</p>
<p>Ref:<br />
<a class="smarterwiki-linkify" href="http://od-eon.com/blogs/stefan/migrating-from-mysql-to-mariadb-on-gentoo/" target="_blank" rel="noopener">http://od-eon.com/blogs/stefan/migrating-from-mysql-to-mariadb-on-gentoo/</a></p>
<p>*) Samba<br />
smbpasswd 不能用了<br />
改用<br />
pdbedit -a -u user<br />
加入<br />
選項與參數：<br />
-L ：列出目前在資料庫當中的帳號與 UID 等相關資訊；<br />
-v ：需要搭配 -L 來執行，可列出更多的訊息，包括家目錄等資料；<br />
-w ：需要搭配 -L 來執行，使用舊版的 smbpasswd 格式來顯示資料；<br />
-a ：新增一個可使用 Samba 的帳號，後面的帳號需要在 /etc/passwd 內存在者；<br />
-r ：修改一個帳號的相關資訊，需搭配很多特殊參數，請 man pdbedit；<br />
-x ：刪除一個可使用 Samba 的帳號，可先用 -L 找到帳號後再刪除；<br />
-m ：後面接的是機器的代碼 (machine account)，與 domain model 有關！</p>
<p><a class="smarterwiki-linkify" href="http://linux.vbird.org/linux_server/0370samba.php" target="_blank" rel="noopener">http://linux.vbird.org/linux_server/0370samba.php</a></p>
<p>*) radvd<br />
如果有出現<br />
&#8220;radvd could not daemonize&#8221;<br />
建 radvd 的 /var/run/radvd 並且 chown radvd .</p>
<p>*) cacti<br />
抓自身的 snmp 要用 127.0.0.1 , 不能用 localhost .<br />
編輯 /etc/portage/package.use<br />
net-analyzer/net-snmp lm_sensors diskio ucd-compat netlink</p>
<p>Ref:<br />
<a class="smarterwiki-linkify" href="http://forums.cacti.net/about15067.html" target="_blank" rel="noopener">http://forums.cacti.net/about15067.html</a><br />
<a class="smarterwiki-linkify" href="http://www.powercram.com/2010/01/multi-cpu-graphing-in-cacti.html" target="_blank" rel="noopener">http://www.powercram.com/2010/01/multi-cpu-graphing-in-cacti.html</a></p>
<p>*) konqueror 一直開一直開 (我是裝 KDE)<br />
<a class="smarterwiki-linkify" href="http://forums.gentoo.org/viewtopic-t-966160-start-0.html" target="_blank" rel="noopener">http://forums.gentoo.org/viewtopic-t-966160-start-0.html</a><br />
裝 dolphin 就好了</p>
<p>*) 中文<br />
幹, 什麼年代了, 中文還是很難搞. 而且裝了還是很難用 (哭哭)<br />
# emerge scim-bridge scim-tables<br />
按照 Gentoo 的文件 http://www.gentoo-wiki.info/Input_Methods<br />
加上<br />
[Qt]<br />
DefaultInputMethod=scim-bridge</p>
<p>在 ~/.xprofile 加上<br />
[TEXT]<br />
export LC_CTYPE=zh_TW.UTF-8<br />
export GTK_IM_MODULE=scim-bridge<br />
export QT_IM_MODULE=scim-bridge<br />
export XMODIFIERS=&#8221;@im=SCIM&#8221;<br />
scim -d<br />
[/TEXT]</p>
<p>*) Dropbox<br />
emerge net-misc/dropbox<br />
再在 user mode 下執行 dropbox 就可以了.</p>
<p>*) Power/Frequency<br />
結論是, 什麼都不用動. 系統會自己跑 800Mhz~2.9G.<br />
Linux kernel version 3.12.3-gentoo. 看起來問題不大.</p>
<p>不過 cpufreq-info 回報的 CPU Frequency 是錯的, 要用 i7z 去看.<br />
如果 i7z 執行有問題, 可以參考這個網頁最後 patch 一下就可以執行了.<br />
https://bbs.archlinux.org/viewtopic.php?pid=1306943<br />
P.S 我是 patch 之後會出現 C7 State .</p>
<p>可以開啟內鍵的 Intel pstate driver, 這會啟動 pstate-drver 取代 cpufreq-acpi 管理程式. 不過i7z 內顯示的頻率就會變得很怪, 但是按照 intel 的說法 ondaemnd 己經不適合 intel 目前的管理模式了, 我現在也不太確定到底什麼是正確的.<br />
還是用原來的 cpufreq-acpi driver 跑 ondaemnd.</p>
<p>Ref.<br />
https://bbs.archlinux.org/viewtopic.php?pid=1306943<br />
http://forums.gentoo.org/viewtopic-p-7442152.html<br />
http://forums.gentoo.org/viewtopic-p-7396848.html#7396848<br />
phc-intel<br />
http://forums.gentoo.org/viewtopic-t-932096-start-0.html<br />
http://www.expreview.com/25426.html</p>
<p>*) Un-Plug SATA</p>
<p># echo 1 &gt; /sys/block/sdg/device/delete<br />
or<br />
# hdparm -F /dev/sdb # force flush write cache<br />
# hdparm -Y /dev/sdb # spin down and switch off the drive completely (until the kernel makes it spin up again)</p>
<p>不過我都是 unmount 就算了.<br />
Ref.<br />
http://forums.gentoo.org/viewtopic-p-6660527.html?sid=e63439cb70cd4c79f96cec3249590058</p>
<p>*) Vmware 抓不到 USB Device 的問題</p>
<p>在 /etc/init.d/vmware 前先執行<br />
# /etc/init.d/vmware-USBArbitrator start<br />
可以用<br />
# rc-update add vmware-USBArbitrator boot<br />
確保先執行.</p>
<p>如果沒有這個檔案, 可以解開 vmware 的 Package 再 copy 進去.</p>
<p>*) Sound<br />
預設 sound 應該就可以工作, 有一個小問題是要在 alsa 內指定 default sound device.<br />
要不然就會有如下的字樣<br />
[TEXT]<br />
ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave<br />
[/TEXT]</p>
<p>可以在 ~/.asoundrc 加入如下的內容就可以了<br />
[TEXT]<br />
defaults.pcm.!card 1<br />
defaults.pcm.!device 7</p>
<p>pcm.!default {<br />
type hw<br />
card 1<br />
}</p>
<p>ctl.!default {<br />
type hw<br />
card 1<br />
}<br />
[/TEXT]<br />
可以用<br />
# aplay -L<br />
# aplay -l<br />
查看 device 和 hw mixer 的資訊</p>
<p>Ref.<br />
Gentoo USB Device not Reconzgized<br />
https://bbs.archlinux.org/viewtopic.php?pid=1356156</p>
<p>*) Disable UltraNav Touchpad<br />
首先安裝 xinput<br />
# emerge -av xinput</p>
<p>再來就是用 xinput 列出 device<br />
[TEXT]<br />
$ DISPLAY=:0 xinput<br />
⎡ Virtual core pointer id=2 [master pointer (3)]<br />
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]<br />
⎜ ↳ Logitech USB-PS/2 Trackball id=13 [slave pointer (2)]<br />
⎜ ↳ Synaptics Inc. Composite TouchPad / TrackPoint id=10 [slave pointer (2)]<br />
⎜ ↳ Synaptics Inc. Composite TouchPad / TrackPoint id=9 [slave pointer (2)]<br />
⎣ Virtual core keyboard id=3 [master keyboard (2)]<br />
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]<br />
↳ Power Button id=6 [slave keyboard (3)]<br />
↳ Video Bus id=7 [slave keyboard (3)]<br />
↳ Power Button id=8 [slave keyboard (3)]<br />
↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]<br />
↳ Lite-On Tech IBM USB Keyboard with UltraNav id=11 [slave keyboard (3)]<br />
↳ Lite-On Tech IBM USB Keyboard with UltraNav id=12 [slave keyboard (3)]<br />
[/TEXT]<br />
&#8220;Synaptics Inc. Composite TouchPad / TrackPoint id=9 [slave pointer (2)]&#8221; 這個就是我們要 Disable 的目標.</p>
<p>執行<br />
# xinput &#8211;set-prop 9 &#8220;Device Enabled&#8221; 0<br />
就可以 Disable touch pad, 如果要重新啟動, 就執行<br />
# xinput &#8211;set-prop 9 &#8220;Device Enabled&#8221; 1<br />
id = 10 的那個是小紅點, 如果不小心 diable 小紅點, 可以交換一下 id 試試看</p>
<p>*) 心得</p>
<p>這一台是我今年年末大升級的機器, 雖然花了將近一萬五. (驚, 有這麼多).<br />
不過在節能上還是看起來很威的.<br />
舊平台是 4850e + 780G + 4*HDDs, 當然 Power , HDD 也有差異, 不過應該相去不遠.</p>
<p>待機耗電 : 3.xW (OLD: 10W)<br />
開機不跑程式 : 58W (如果只有裝 2*HDDs, 是 3xW, OLD: 9XW)<br />
全速執行程式 : 100W (OLD: 130W)<br />
一核全速 : 6XW (只有裝 2*HDDs)</p>
<p>大概比前一個平台省了約 30~40W, 算是小弟對節能的小小貢獻.</p>
<p>若是和另一台 Q6600 + ATI 4850 顯卡比, 這一台待機就要耗 160W, 跑個程式就要耗 210W 以上. 想必新電腦省電很多很多了 :p<br />
和 Q6600 (o.c 3.0G) 比, 這台的 compile 速度也快上很多, 不過我不知道是不是我的心理因素, 我沒有去測試過. 不過應該符合我目前對這個平台速度和節能的期望了.</p>
<p>一句話: 我很滿意 <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>==<br />
VMWARE workstation 12 or VMWARE Player 12 在新的系統有個小問題 USB Arb 有錯誤訊息, 有跑 Process 不過懶得查了, 短時間沒找到解決方案, 改用 VirtualBox</p>
<blockquote><p>2016-04-25T04:24:42.623+08:00| usbArb| I125: VMware USB Arbitration Service Version 15.1.7<br />
2016-04-25T04:24:42.623+08:00| usbArb| I125: USBGL: USB Sysfs found at /dev/bus/usb<br />
2016-04-25T04:24:42.623+08:00| usbArb| I125: USBArb: Attempting to connect to existing arbitrator on /var/run/vmware/usbarbitrator-socket.<br />
2016-04-25T04:24:42.623+08:00| usbArb| I125: SOCKET creating new socket, connecting to /var/run/vmware/usbarbitrator-socket<br />
2016-04-25T04:24:42.623+08:00| usbArb| I125: SOCKET connect failed, error 2: No such file or directory<br />
2016-04-25T04:24:42.623+08:00| usbArb| I125: USBArb: Failed to connect to the existing arbitrator.<br />
2016-04-25T04:31:01.719+08:00| usbArb| I125: USBArb: UsbArbPipeConnected: Connected to client, socket:4<br />
2016-04-25T04:31:01.730+08:00| usbArb| I125: USBArb: Closing client, error:2<br />
2016-04-25T04:31:01.730+08:00| usbArb| I125: USBArb: Client 0 disconnected</p></blockquote>
<p>&nbsp;</p>
<p><del datetime="2016-04-24T21:58:16+00:00">升級到 Linux kernel 4.5 直接安裝 app-emulation/vmware-modules 就可以了</del></p>
<p><del datetime="2016-04-23T03:17:48+00:00">後記: 升級到 Linux kernel 3.18 long term stable version </del></p>
<p>vmware 要從這邊下載 patch<br />
https://aur.archlinux.org/packages/vmware-patch/</p>
<p>記得 kvm 要關<br />
https://wiki.archlinux.org/index.php/VMware</p>
<p>Kernel 3.18 要升級到 udev 2.16 以上, userspace firmware helper 要關掉.<br />
https://wiki.gentoo.org/wiki/Udev/upgrade</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2013/12/26/1583/gentoo-%e9%9b%bb%e8%85%a6%e5%8d%87%e7%b4%9a%e6%a1%88-32bit-64bit-linux/">[Gentoo] 電腦升級案 32bit -&gt; 64bit Linux</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.richliu.com/2013/12/26/1583/gentoo-%e9%9b%bb%e8%85%a6%e5%8d%87%e7%b4%9a%e6%a1%88-32bit-64bit-linux/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>ubuntu 遷移到 raid 0 的問題.</title>
		<link>https://blog.richliu.com/2011/07/18/1104/ubuntu-%e9%81%b7%e7%a7%bb%e5%88%b0-raid-0-%e7%9a%84%e5%95%8f%e9%a1%8c/</link>
					<comments>https://blog.richliu.com/2011/07/18/1104/ubuntu-%e9%81%b7%e7%a7%bb%e5%88%b0-raid-0-%e7%9a%84%e5%95%8f%e9%a1%8c/#comments</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Mon, 18 Jul 2011 03:31:00 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[mdadm]]></category>
		<category><![CDATA[Raid]]></category>
		<category><![CDATA[raid1]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">http://blog.richliu.com/?p=1104</guid>

					<description><![CDATA[<p>最近在 compile 程式的時候, 一直出錯, 請同事幫我檢查(因為是他寫的, 要保留車禍現場). 結果發現 [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2011/07/18/1104/ubuntu-%e9%81%b7%e7%a7%bb%e5%88%b0-raid-0-%e7%9a%84%e5%95%8f%e9%a1%8c/">ubuntu 遷移到 raid 0 的問題.</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>最近在 compile 程式的時候, 一直出錯, 請同事幫我檢查(因為是他寫的, 要保留車禍現場).<br />
結果發現是我用了二年的系統碟有點問題, 查了一下 S.M.A.R.T Log, 己經有一堆 sector relocate 和 Error Log. </p>
<p><span id="more-1104"></span></p>
<p>原來只有一顆硬碟, 現在要換就直接要二顆來做 Raid.<br />
不過原來沒有 Raid, 現在要弄有點麻煩<br />
主要還是參考我自己寫的<a href="http://blog.richliu.com/2011/05/16/1078/">Linux Software Raid 系統轉移</a></p>
<p>其中有一些小小的不一樣.<br />
1. 如果是轉移過來的, 記得要先安裝 madm<br />
[BASH]<br />
# apt-get install mdadm<br />
[/BASH]</p>
<p>2. Grub Install<br />
ubuntu 10.04.02 LTS 沒有 grub 這個指令 (可能要安裝), 所以要改用<br />
[BASH]<br />
# grub-install /dev/sda<br />
# grub-install /dev/sdb<br />
[/BASH]<br />
取代之. </p>
<p>3. 請直接用 blkid 抓到的 devid 放在 /etc/fstab 內<br />
接下來的 update-grub 似乎是直接抓 /etc/fstab 內的資訊.<br />
或是有可能是己 mount 的 mdadm 資訊. (因為我都是用光碟片開機再 chroot 測試)</p>
<p>最後要 Update GRUB 和 initramfs, initramfs 這個動作在 install mdadm 的時候也會做.<br />
[BASH]<br />
# update-initramfs -k `uname -r` -c -t<br />
[/BASH]<br />
Update GRUB<br />
[BASH]<br />
# update-grub<br />
[/BASH]</p>
<p>這一篇不算完整, 因為我才成功一次, 並且沒有空進行測試.<br />
若有錯誤, 敬請指教. </p>
<p>P.S1 雖然如此, 不過我資料碟的 RAID 似乎無法自動用 UUID mount. 原因不明.<br />
P.S2 這次有注意到一件事情, 原來 mdadm &#8211;detail /dev/md0 回報的 UUID 和 blkid 回報的 UUID 是不同的, 之前都用 blkid 的 UUID. </p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2011/07/18/1104/ubuntu-%e9%81%b7%e7%a7%bb%e5%88%b0-raid-0-%e7%9a%84%e5%95%8f%e9%a1%8c/">ubuntu 遷移到 raid 0 的問題.</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.richliu.com/2011/07/18/1104/ubuntu-%e9%81%b7%e7%a7%bb%e5%88%b0-raid-0-%e7%9a%84%e5%95%8f%e9%a1%8c/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Linux Software Raid 系統轉移</title>
		<link>https://blog.richliu.com/2011/05/16/1078/linux-software-raid-%e7%b3%bb%e7%b5%b1%e8%bd%89%e7%a7%bb/</link>
					<comments>https://blog.richliu.com/2011/05/16/1078/linux-software-raid-%e7%b3%bb%e7%b5%b1%e8%bd%89%e7%a7%bb/#comments</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Sun, 15 May 2011 19:39:48 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[copy]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[mdadm]]></category>
		<category><![CDATA[move]]></category>
		<category><![CDATA[Raid]]></category>
		<category><![CDATA[Software Raid]]></category>
		<category><![CDATA[資料]]></category>
		<guid isPermaLink="false">http://blog.richliu.com/?p=1078</guid>

					<description><![CDATA[<p>現在硬碟價格愈來低, 但是穩定性也一直是為人所詬病的.所以我目前系統大概是這樣做的 1) 新買的硬碟放不重要的 [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2011/05/16/1078/linux-software-raid-%e7%b3%bb%e7%b5%b1%e8%bd%89%e7%a7%bb/">Linux Software Raid 系統轉移</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>現在硬碟價格愈來低, 但是穩定性也一直是為人所詬病的.<br />所以我目前系統大概是這樣做的<br /><br />1) 新買的硬碟放不重要的資料, Offline Backup 資料<br />2) Item 1) 換下來的硬碟做 Raid 1 當作資料碟<br />3) Item 2) 換下來的硬碟做暫存碟<br />4) Item 3) 換下來的硬碟做其他電腦的系統碟<br />5) Item 4) 換下來的硬碟做動物碟和大量資料傳送碟</p>



<p>以這樣的更換頻率來看, Item 1) 和 Item 2) 是最常換的.<br />像是某 s 長輩搬東西都還要注意 md5 checksum 的問題, 不過我實在是沒有這麼多力氣去處理<br />所以都只是搬過去就好了.<br /><br />如果只是 copy data, 那問題還算簡單, 但是 Linux Software Raid Copy 還是需要一些技巧.<br /><br />我的 Raid 1 Disk 大概二到三年更換一次, 每次都需要查 Software Raid 相關的指令, 很大的機會還會連回到自己的 Blog, 乾脆這次記錄下來, 以後還可以用, 也可以給大家參考</p>



<span id="more-1078"></span>



<h2 class="wp-block-heading">將兩顆新硬碟設定成 Raid 系統</h2>



<p>我 Raid 1 系統比較喜歡在 Local 系統上 Copy, 這樣一來可以少掉 network 的 overhead, 也可以確定完整保留檔案的屬性, 是比較好的做法.<br /><br />在 Copy 之前, 先簡單說一下步驟<br />1) 將舊的 Raid Disk 卸下來, 換上新的二顆硬碟上去<br />2) 拿舊的其中一顆裝上去.<br />3) 使用 Linux LiveCD 開機<br />4) 將新硬碟(一顆)設上 Raid<br />5) 將舊硬碟也設上 Raid<br />6) Copy 系統碟資料<br />7) 使用新 Raid 重新開機<br />8) Copy 資料碟資料<br />9) 卸下舊 Raid 硬碟<br />10) 將第二顆硬碟加入到 Raid Disk<br /><br />其中硬體安裝步驟就省略了, 除非我有事業線美女還有大砲級的器材, 不過這二樣我都沒有.</p>



<h3 class="wp-block-heading"> Linux LiveCD 的選擇 </h3>



<p>這次是使用 Ubuntu 11.04 x86, 新的 Unity 介面看起來不錯, 但是我找不到 Terminal, 要用 Search 的才行, 不過這並不影響使用.<br />啟動之後主要是要連上網路. 這個就依照個人環境不同修改了.<br />這是 Static IP 的範例 </p>



<pre class="wp-block-code"><code># ifconfig eth0 211.21.1.1
# route add default gw 211.21.1.254
# echo "nameserver 168.95.1.1" &gt; /etc/resolv.conf
# ping www.hinet.net</code></pre>



<h3 class="wp-block-heading"> 安裝 mdadm </h3>



<p>

因為接下來幾乎都是要在 root 下做, 懶得每次 sudo 的話<br />就直接切到 root 吧.

</p>



<pre class="wp-block-code"><code># sudo su -
# apt-get install mdadm</code></pre>



<p>

設定新硬碟的分割表, 這邊不多說, 用 cfdisk 應該就可以很順利的將二顆硬碟切成一樣的.

</p>



<h3 class="wp-block-heading"> sfdisk copy partition </h3>



<pre class="wp-block-code"><code># sfdisk -d /dev/sda &gt; sda.layout
# sfdisk /dev/sdb &lt; sda.layout</code></pre>



<p>sfdisk 已經可以支援 gpt 了（2021年)<br />或是 sgdisk </p>



<pre class="wp-block-code"><code>$ sgdisk --backup=table /dev/sda 
$ sgdisk --load-backup=table /dev/sdb 
$ sgdisk -G /dev/sdb</code></pre>



<p>

新硬碟是二顆 2T 的硬碟, 新的規劃是三個 partition , /var /tmp 呢&#8230;. 呃~ 我懶嘛, / 切大一點就好了.<br />/dev/md1 (First Partition) : System Disk : 50G<br />/dev/md2 (Second Partition) : Data Disk : 1945G<br />/dev/md3 (Third Primary Partition) : Swap Disk : 5G<br />建立 md device node<br />一般來說, 以我的狀況 4 個就夠用了, 但是我原先的硬碟 /boot 和 / 是分開的, 所以我多建一個.

</p>



<pre class="wp-block-code"><code># mknod /dev/md0 b 9 0 
# mknod /dev/md1 b 9 1 
# mknod /dev/md2 b 9 2 
# mknod /dev/md3 b 9 3 
# mknod /dev/md4 b 9 4</code></pre>



<p>

如果是 GPT

</p>



<pre class="wp-block-code"><code>Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048          616447   300.0 MiB   EF00  EFI System
   2          616448       420046847   200.0 GiB   FD00  Linux RAID
   3       420046848     11700000000   5.3 TiB     FD00  Linux RAID
   4     11700000768     11721045134   10.0 GiB    FD00  Linux RAID</code></pre>



<p>1 : UEFI 用<br />2 : root 用<br />3 : /home 用<br />4 : swap 用<br />註: 用 Kubuntu 17.04 時, 己經不需要自己建 /dev/md1 的 node.</p>



<h3 class="wp-block-heading"> 將新的硬碟規劃成 Raid 1 Device </h3>



<p>

這邊要注意的是,<br />1) 新的硬碟在系統內是被抓成 /dev/sdb, 如果看倌要抄的話, 記得要改名.<br />2) &#8211;metadata=0.90 , 表示 Raid 格式用 0.90, 新的 mdadm 支援 1.0, 1.1, 1.2, 查到的資料是 grub 目前不支援 1.0 以上, lilo 看起來也不支援, mdadm 預設支援 1.2 . 有人有提到用 1.2 沒有辦法 auto-detect raid device. 所以這邊一定要停在 0.90. (我是 grub 認不到, 所以有重來過 Orz)<br />(註: 現在應該可以用 1.2, 但是 boot 還是要用 0.90)<br />3) Missing : Raid 1 要二顆硬碟, 我這邊只用了一顆硬碟, 另一顆等到 Copy 完畢再做 Sync 即可. 這樣會比較快.

</p>



<pre class="wp-block-code"><code># modprobe raid1
# mdadm --create /dev/md1 -l 1 -n 2 --metadata=0.90 /dev/sdb1 missing
# mdadm --create /dev/md2 -l 1 -n 2 /dev/sdb2 missing
# mdadm --create /dev/md3 -l 1 -n 2 /dev/sdb3 missing</code></pre>



<p>第一行要將 raid1 的 module load 進來, 不知道不執行可不可以, 我是都有執行.<br />Format Fisk , 這邊就隨你高興了, 不過系統碟建議用 ext3/ext4</p>



<pre class="wp-block-code"><code># mkfs.ext3 /dev/md1
# mkfs.xfs -f /dev/md2
# mkswap /dev/md3</code></pre>



<h3 class="wp-block-heading"> 重建舊的 Raid 硬碟 </h3>



<p>

為什麼只拿一顆硬碟就好, 那是因為舊硬碟是 Raid 1 呀, 所以重建也可以忽略掉另一顆, 這邊我每次都忘記怎麼做, 所以也是這次讓我寫這篇文章的原因.

</p>



<pre class="wp-block-code"><code># mdadm --assemble /dev/md0 /dev/sdc1 missing
# mdadm --assemble /dev/md4 /dev/sdc2 missing
# mdadm --run /dev/md0
# mdadm --run /dev/md4</code></pre>



<p>

指令很簡單, 才二行而己, 但是讓我搞很久 -_-!

</p>



<h3 class="wp-block-heading"> mount 系統碟 </h3>



<p>

這邊請依照你當時現場的狀況決定.

</p>



<pre class="wp-block-code"><code># mkdir -p /mnt/target
# mkdir -p /mnt/source
# mount /dev/md1 /mnt/target
# mount /dev/md4 /mnt/source
# mount /dev/md0 /mnt/source/boot</code></pre>



<h3 class="wp-block-heading"> 清除多餘空間 </h3>



<p>我的系統是 Gentoo, 在 Copy 之前, 可以先清除一些空間, 讓 Copy 更順暢<br />這邊的建議是<br />1) /tmp, /var/tmp : 有些舊系統不會清 /tmp, 和 /var/tmp, 在 copy 之前要清一下<br />2) 清除 Linux kernel object code<br />3) 清除 Portage, 這檔案很多又小, /usr/portage/distfiles 又很多 download file, 不必要, 清空<br />4) 清除 /usr/share/doc : 這個看個人, 我覺得可以清, 但是沒有清的項目.<br /><br />assume root is /mnt/source </p>



<pre class="wp-block-code"><code># rm -rf /tmp/*
# rm -rf /var/tmp/*
# cd /usr/src
# cd linux
# make mrproper
# cd /usr/portage
# rm -rf *
# cd /usr/share/doc
# rm -rf *</code></pre>



<h3 class="wp-block-heading"> Copy System Data </h3>



<pre class="wp-block-code"><code># rsync -av /mnt/source/ /mnt/target/</code></pre>



<p>

先別休息呀, 還有別的活要幹, 別忘了 LiveCD 是 GUI 介面, Copy 的同時我們還有很多事情要做.<br />1) 修改 /etc/fstab<br />2) 安裝 Grub<br />3) 修改 /boot/grub/menu.lst (如果有需要的話)

</p>



<pre class="wp-block-code"><code># blkid /dev/md1
/dev/md1: UUID="11111111-2be8-4156-98d9-018e20da6dc1" SEC_TYPE="ext2" TYPE="ext3"
# blkid /dev/md2
/dev/md2: UUID="22222222-af0a-41de-a67e-72652a6e8521" TYPE="xfs"
# blkid /dev/md3
/dev/md3: UUID="33333333-e972-4d8f-9879-c58576ea0d03" TYPE="swap"
# vi /etc/fstab</code></pre>



<p>

記好 UUID, 準備修改 /etc/fstab, 以下是範例.

</p>



<pre class="wp-block-code"><code>UUID=11111111-2be8-4156-98d9-018e20da6dc1 / ext3 noatime 0 0
UUID=22222222-af0a-41de-a67e-72652a6e8521 /home xfs defaults,noatime 0 0
UUID=33333333-e972-4d8f-9879-c58576ea0d03 none swap sw 0 0</code></pre>



<h3 class="wp-block-heading"> 安裝 Grub </h3>



<p>

當 Copy 的差不多的時候, 就可以準備安裝 Grub 了, 步驟是<br />1) 先 bind 系統上的 /proc /dev 到 目錄內<br />2) chroot 進去<br />3) 執行 grub

</p>



<pre class="wp-block-code"><code># cd /mnt/target
# mount --bind /proc proc
# mount --bind /dev dev
# cd ..
# chroot target
# grub
grub&gt; root (hd1,0)
Filesystem type is ext2fs, partition type 0xfd
grub&gt; root (hd1,1)

Filesystem type is xfs, partition type 0xfd

grub&gt; setup (hd1)</code></pre>



<p>

如果是 GPT + BIOS 仍然可以用這個指令, 用 grub 應該是有點久了

</p>



<pre class="wp-block-code"><code>$ grub-install /dev/sda 
$ grub-install /dev/sdb</code></pre>



<p>如果是搬家還要修一下 grub 的設定, 編輯 /etc/default/grub, 將 mdX 換成你要的開機 raid.<br />GRUB_CMDLINE_LINUX_DEFAULT=&#8221;root=/dev/mdX real_root=/dev/mdX rootfstype=ext4 &#8220;<br />別忘了 update 一下 grub 的設定</p>



<pre class="wp-block-code"><code>grub-mkconfig -o /boot/grub/grub.cfg</code></pre>



<p>grub 判斷 device 不一定很準確, 需要一些經驗.<br />不過大致上來說,<br />sda = hd0, sdb = hd1, sdc = hd2 是沒有錯的.<br />我也有碰過開完機之後是<br />sda = hd0, sdd = hd2, sdc = hd1<br />這樣的.<br />至於 grub.conf (menu.lst) 就跳過了Copy 完就可以重開機了, 順利的話就和原來的系統差不多.<br /><br />我自己是很順利, 沒有什麼問題.新的系統上, raid 會自己抓到, 在我的系統是在 md126, md127, 之前進系統改過的 Raid 就是 md0 和 md4.<br />直接再 mount 上去再 rsync 一下.<br /><br />以我而言, 資料碟大概都是數百 G 上下, 所以 rsync 指令一下, 我就跑去睡覺了.<br />以上的步驟大概要 2~4 Hours , 依照狀況能力的不同, 不過大概在下午六點左右開始轉換是最好的.</p>



<h3 class="wp-block-heading"> 將第二顆硬碟加入 Raid </h3>



<p>

所有資料都 Copy 完了以後, 確定不會再重開機, 因為 sync 時中斷就要重來, 所以這個步驟大概會耗掉非常久的時間, 以 2T 的硬碟來說, 會超過 14Hours. 如果中間有大量存取會更慢.<br />這邊要注意的是, 加入的硬碟和 LiveCD 重開抓到的硬碟不同, 所以要用 dmesg | grep sd 看一下, 還有用 cat /proc/mdstat 看一下目前己經加入 Raid 的是那一顆 HDD.

</p>



<pre class="wp-block-code"><code>mdadm --manage --add /dev/md1 /dev/sdc1
mdadm --manage --add /dev/md2 /dev/sdc2
mdadm --manage --add /dev/md3 /dev/sdc3</code></pre>



<p>

下完指令之後就可以看到在跑 sync 了

</p>



<pre class="wp-block-code"><code># cat /proc/mdstat
Personalities : &#91;raid0] &#91;raid1] &#91;raid6] &#91;raid5] &#91;raid4] &#91;raid10]
md2 : active raid1 sdc2&#91;2] sda2&#91;0]
1899413056 blocks &#91;2/1] &#91;U_]
resync=DELAYED

md3 : active raid1 sdc3&#91;2] sda3&#91;0]
5269248 blocks &#91;2/1] &#91;U_]
resync=DELAYED

md1 : active raid1 sdc1&#91;2] sda1&#91;0]
48829440 blocks &#91;2/1] &#91;U_]
&#91;==&gt;..................] recovery = 12.4% (6068736/48829440) finish=6.6min speed=107126K/sec

unused devices:</code></pre>



<p>大功告成&#8230; 親一個~~</p>



<p>每次這樣備份都要花一天, 有沒有簡單一點的方法呢?<br />不要說買 Raid Box 二個, 直接 Copy 過去,&nbsp; Raid Box 又貴又不一定穩定, 我之前買某一家的, 操一年就掛了, 維修的費用快可以買一台新. 所以我再也不想碰 Raid Box.</p>



<h2 class="wp-block-heading">換掉一顆硬碟</h2>



<p>2021/02/27 <br />前二天 Power 掛掉，可能連帶影響到某顆 HDD 出問題，只能再花錢換掉，這次就沒有一次換二顆硬碟，就先換一顆就好<br /><br />換的過程也不難，大致上就是<br />1) 裝新硬碟<br />2) 確定要換下的舊硬碟<br />3) 將舊硬碟從系統移除<br />4) 加上新硬碟</p>



<h3 class="wp-block-heading">檢查目前的 Raid</h3>



<pre class="wp-block-code"><code># cat /proc/mdstat
Personalities : &#91;raid1]
md125 : active raid1 sda3&#91;2] sdc3&#91;0]
      5639845504 blocks super 1.2 &#91;2/2] &#91;UU]
      bitmap: 0/43 pages &#91;0KB], 65536KB chunk

md126 : active (auto-read-only) raid1 sda4&#91;2] sdc4&#91;0]
      10513984 blocks super 1.2 &#91;2/2] &#91;UU]

md127 : active raid1 sda2&#91;1] sdc2&#91;0]
      209715136 blocks &#91;2/2] &#91;UU]
      bitmap: 2/2 pages &#91;8KB], 65536KB chunk</code></pre>



<h3 class="wp-block-heading">檢查要換下來的硬碟</h3>



<pre class="wp-block-code"><code># smartctl -A /dev/sdc
smartctl 7.2 2020-12-30 r5155 &#91;x86_64-linux-5.10.18-gentoo-x86_64] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000b   090   090   016    Pre-fail  Always       -       3342351
  2 Throughput_Performance  0x0005   138   138   054    Pre-fail  Offline      -       100
  3 Spin_Up_Time            0x0007   156   156   024    Pre-fail  Always       -       412 (Average 433)
  4 Start_Stop_Count        0x0012   100   100   000    Old_age   Always       -       53
  5 Reallocated_Sector_Ct   0x0033   034   034   005    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000b   100   100   067    Pre-fail  Always       -       0
  8 Seek_Time_Performance   0x0005   140   140   020    Pre-fail  Offline      -       15
  9 Power_On_Hours          0x0012   096   096   000    Old_age   Always       -       29568
 10 Spin_Retry_Count        0x0013   100   100   060    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       52
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       1195
193 Load_Cycle_Count        0x0012   100   100   000    Old_age   Always       -       1195
194 Temperature_Celsius     0x0002   125   125   000    Old_age   Always       -       48 (Min/Max 24/65)
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0022   034   034   000    Old_age   Always       -       65535
198 Offline_Uncorrectable   0x0008   032   032   000    Old_age   Offline      -       15341
199 UDMA_CRC_Error_Count    0x000a   200   200   000    Old_age   Always       -       0</code></pre>



<p>這邊可以看到<br />Current_Pending_Sector  Offline_Uncorrectable   這兩個值異常高，雖然 Reallocated_Event_Count 目前是 0 ，但是還是預防性換硬碟好了</p>



<h3 class="wp-block-heading">將壞掉的硬碟從 Raid 移除</h3>



<pre class="wp-block-code"><code>mdadm --manage  /dev/md125 --fail /dev/sdc3
mdadm --manage --remove /dev/md125 /dev/sdc3

mdadm --manage  /dev/md126 --fail /dev/sdc4
mdadm --manage --remove /dev/md126 /dev/sdc4

mdadm --manage  /dev/md127 --fail /dev/sdc2
mdadm --manage --remove /dev/md127 /dev/sdc2</code></pre>



<h3 class="wp-block-heading">再次檢查 mdstat 的狀態</h3>



<pre class="wp-block-code"><code># cat /proc/mdstat
Personalities : &#91;raid1]
md125 : active raid1 sda3&#91;2]
      5639845504 blocks super 1.2 &#91;2/1] &#91;_U]
      bitmap: 3/43 pages &#91;12KB], 65536KB chunk

md126 : active (auto-read-only) raid1 sda4&#91;2]
      10513984 blocks super 1.2 &#91;2/1] &#91;_U]

md127 : active raid1 sda2&#91;1]
      209715136 blocks &#91;2/1] &#91;_U]
      bitmap: 2/2 pages &#91;8KB], 65536KB chunk

unused devices: &lt;none&gt;</code></pre>



<h3 class="wp-block-heading">複製 partition 到新硬碟</h3>



<p>這一步驟前面也有，不過還是附上</p>



<pre class="wp-block-code"><code># sfdisk -d /dev/sda &gt; sda.layout
# sfdisk /dev/sdb &lt; sda.layout</code></pre>



<h2 class="wp-block-heading">檢查 Partition 是不是確定複製過去</h2>



<pre class="wp-block-code"><code># fdisk /dev/sda

Welcome to fdisk (util-linux 2.36.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


命令 (m 以獲得說明)：p

Disk /dev/sda: 5.46 TiB, 6001175126016 bytes, 11721045168 sectors
Disk model: HGST HDN726060AL
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: C82DA0A3-9657-4807-BBEA-79FA0EB48349

所用裝置         Start        結束        磁區  Size 類型
/dev/sda1         2048      616447      614400  300M EFI System
/dev/sda2       616448   420046847   419430400  200G Linux RAID
/dev/sda3    420046848 11700000000 11279953153  5.3T Linux RAID
/dev/sda4  11700000768 11721045134    21044367   10G Linux RAID

命令 (m 以獲得說明)：q
ms1 ~ # fdisk /dev/sdb

Welcome to fdisk (util-linux 2.36.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


命令 (m 以獲得說明)：p
Disk /dev/sdb: 5.46 TiB, 6001175126016 bytes, 11721045168 sectors
Disk model: TOSHIBA MG06ACA6
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: C82DA0A3-9657-4807-BBEA-79FA0EB48349

所用裝置         Start        結束        磁區  Size 類型
/dev/sdb1         2048      616447      614400  300M EFI System
/dev/sdb2       616448   420046847   419430400  200G Linux RAID
/dev/sdb3    420046848 11700000000 11279953153  5.3T Linux RAID
/dev/sdb4  11700000768 11721045134    21044367   10G Linux RAID

命令 (m 以獲得說明)：q</code></pre>



<h3 class="wp-block-heading">將新硬碟加入 Raid 系統</h3>



<pre class="wp-block-code"><code>mdadm --manage --add /dev/md125 /dev/sdb3
mdadm --manage --add /dev/md126 /dev/sdb4
mdadm --manage --add /dev/md127 /dev/sdb2</code></pre>



<h3 class="wp-block-heading">檢查 raid status</h3>



<pre class="wp-block-code"><code># cat /proc/mdstat
Personalities : &#91;raid1]
md125 : active raid1 sdb3&#91;3] sda3&#91;2]
      5639845504 blocks super 1.2 &#91;2/1] &#91;_U]
      &#91;&gt;....................]  recovery =  3.0% (174198208/5639845504) finish=459.3min speed=198286K/sec
      bitmap: 2/43 pages &#91;8KB], 65536KB chunk

md126 : active raid1 sdb4&#91;3] sda4&#91;2]
      10513984 blocks super 1.2 &#91;2/1] &#91;_U]
        resync=DELAYED

md127 : active raid1 sdb2&#91;2] sda2&#91;1]
      209715136 blocks &#91;2/1] &#91;_U]
        resync=DELAYED
      bitmap: 2/2 pages &#91;8KB], 65536KB chunk

unused devices: &lt;none&gt;
</code></pre>



<h3 class="wp-block-heading">後記</h3>



<p>雖然升級 Linux kernel 後 md 的位置都變了，本來從 md1x 變成 md12x，但是整個 Software Raid 1 的移轉算很順利，前後不到 10 分鐘就弄完了，主要還是確認輸入的資料正確性花比較久時間，加上換硬碟的時間大概 30 分鐘<br /><br />只是買硬碟心比較痛而已</p>



<h2 class="wp-block-heading">其他</h2>



<h3 class="wp-block-heading">遇到 inactivate md 怎麼辦</h3>



<p>這問題很簡單，啟動就好了</p>



<pre class="wp-block-preformatted">$ cat /proc/mdstat
md127 : inactive sda2[1](S)
      209715136 blocks
# mdadm --run /dev/md127

md127 : active (auto-read-only) raid1 sda2[1]
      209715136 blocks [2/1] [_U]
      bitmap: 2/2 pages [8KB], 65536KB chunk

$ mdadm --manage --add /dev/md127 /dev/sdb2
mdadm: re-added /dev/sdb2

$ cat /proc/mdstat
md127 : active raid1 sdb2[0] sda2[1]
      209715136 blocks [2/2] [UU]
      bitmap: 0/2 pages [0KB], 65536KB chunk

</pre>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2011/05/16/1078/linux-software-raid-%e7%b3%bb%e7%b5%b1%e8%bd%89%e7%a7%bb/">Linux Software Raid 系統轉移</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.richliu.com/2011/05/16/1078/linux-software-raid-%e7%b3%bb%e7%b5%b1%e8%bd%89%e7%a7%bb/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
	</channel>
</rss>
