2013.09.04 SSD安裝

在露天買了一顆 德盟的硬碟

這廠牌有點冷門,台灣沒聽過,工廠是在深埈

因為很便宜,32G才1250元

剛好公司有需求,而我需要用小硬碟來備份,系統碟用小一點

因為我用Clonezilla,小硬碟可以還原到大硬碟,而大硬碟無法還原至小硬碟

所以小硬碟拿來做系統印象檔才能順利還原到大硬碟

 

測試,SLC的寫入速度真的挺不錯的,讀和寫都挺快的。

安裝Win7時發生一個小插曲

竟然抓得到SSD,但卻無法安裝,後來是更改開機順序才解決,這陣子都在試網路開機,所以把網路開機順序變成第一個開機裝置

安裝WIN7那麼多次,我還是第一次遇到

 

網路WIN7的安裝我還是無解,還要花時間去研究~

[非原創]快閃記憶體 SLC 與 MLC 的差別

原創: 快閃記憶體 SLC 與 MLC 的差別

最近好像太常碰到這個問題了, 就寫一篇文放著, 下次再遇到人問就丟這篇的URL給他看.

首先還是得先來一些關於快閃(flash)記憶體的預備常識:

快閃記憶體的用途目前最常見的就是: 記憶卡 (你的數位相機在用的), 隨身碟, 以及 SSD (固態磁碟機).
依其記憶單元的儲存技術, 可分為:
SLC: Single-Level Cell, 一個記憶單元只存放一個位元 (兩個狀態)
MLC: Multi-Level Cell, 一個單元可以存放多個電位狀態, 以 2 bits 為例就是 00, 01, 10, 11 四個狀態, 如此一來儲存密度較 SLC 高, 成本較低, 但速度就慢多了 <— 我們不要太深究為什麼, 那是學電子的人才要去關心的事…我們暫時只需知道片面的結論就好. 讀完這一點, 你已經知道 SLC/MLC 不是牌子的名稱, 而是不同的技術名詞.

SLC 的壽命為 100,000 次的讀寫
MLC 的壽命為 10,000 次的讀寫
是的, 以同容量的 SLC 與 MLC 隨身碟相比, MLC 的價格大約才四分之一, 但壽命只有十分之一

Wear-leveling (損耗平均) 技術:
不管是 SLC 或 MLC 都有壽命上的問題, 所以如果有些記憶單元太常被讀取, 就會比其他記憶單元早很多步往生歸西. wear-leveling 就是要想辦法偷偷幫你搬家, 平均用掉這些記憶單元的壽命. 例如你家樓下有十個信箱筒, 有三個最常被使用, 怕說壞得比較快…樓下管理員就在半夜偷偷地把另外幾乎沒在用的三戶的信箱筒掉包…大概就是這樣的概念了. 等等, wear-leveling 當然是控制晶片 (樓下管理員) 在管的啦, 你有看過信箱 (記憶單元) 會自己搬家的嗎? 讀到這裏, 你應該更有概念了: 一隻 16G MLC 隨身碟的壽命, 不是一隻讀寫一萬次就完蛋了, 而是 [理想上] 有 16GB*10000 這麼長命; 觀念不在次數, 而在總資料流量. 160000GB 的資料流量, 給你三年的時間當分母好了, 全年無休地天天拷來拷去, 一天 146GB 耶!

多通道讀寫:
類似的名詞這幾年比較常見於主機板: 雙通道記憶體. 兩條RAM同時抓取資料, 在相同時間內抓到的資料量自然就是單條的兩倍 (廢話). 相同的觀念, 一樣可以用在快閃記憶體的控制晶片設計. MLC 比 SLC 慢這個常識這我們剛剛知道了, 但 “多通道 MLC 讀寫” 就可以和 “單通道 SLC 讀寫” 一較長短了… 決勝點就在於控制晶片. 當然…控制晶片本身也是成本之一, 搞得愈複雜就愈貴.

不是技術阿宅的人可能看到這裏就已經沒耐性再看下去了 (我有預先做過 reader’s test 了哈哈)… 幸好你大概也只需要知道這麼多啦. 接下來就是 case study 了.

目前 (2008年11月) 市售已經罕有 SLC 的隨身碟了. 創見 JF168 16G (SLC) 的要價四千多塊. 而 16G MLC 隨身碟滿街都是, 最普通的大概一千元上下, 而像我買的 Corsair Voyager GT 16G 則是一千八左右, 速度仍略遜於 SLC 的隨身碟.

如果你比較在意 “寫入速度”, 加上你真的比別人常常在用隨身碟搬大量資料 (例如影音圖檔什麼的), 那你可能得多花點錢投資購買 SLC 的隨身碟. 這並不是壽命上的考量. 如同我前一篇文寫過的, 除非你一天有 146G 的資料搬移量 (不管是讀或寫), 不然 MLC 16G 的隨身碟應該夠長命撐到你嫌它太小而買一隻大了八倍十六倍的新品 (屆時價錢可能也一樣在兩千塊以下). MLC 的另一個小問題就 “寫入比較有卡卡的感覺”, 不若 SLC 那麼順暢, 尤其當你有一堆大大小小的檔案要寫來寫去的時候

[非原創]無碟WIN7:安裝筆記

出處:http://tw.myblog.yahoo.com/pcman-128/article?mid=805

之前已敘述過安裝無碟XP系統, 因此針對安裝WIN7於無碟系統的做法詳實的紀錄一下:

WIN7安裝程式本身就支援將WIN7系統安裝於iSCSI的遠端磁碟, 所以只要注意使用GPXE時,要在DHCPD.CONF中加入

option gpxe.keep-san code 8 = unsigned integer 8;

並於啟動iscsi的 root-path 之後加入keep-san參數,如下:

option root-path “iscsi:my.target.dns.name::::iqn.2007-08.name.dns.target.my:iscsiboot”;
option gpxe.keep-san 1;

這個參數主要是告訴GPXE程式(模擬SCSI設備), 在啟動失敗的情形下, 不要立刻關閉iscsi連接, 並在BIOS重導向其他開機設備時(如DVD-ROM),依然繼續保持連線, 直到下次開機為止.

所以依GPXE官方的建議方法,你只要在BIOS中的開機順序改成 (1)網路 (2)DVD-ROM …這樣就OK了

開機時先由網路卡開機,於DHCP處得知IP位址並導入GPXE程式,試圖由iscsi開機,但此時還是空的iscsi磁碟(尚未安裝WIN7), 開機失敗, 但保留iscsi連接, 改由BIOS指定的第2個開機設備開機, 所有DVD-ROM就讀取到WIN7安裝光碟, 進入後就可以正常安裝WIN7.

好像很簡單吧!

 

如果只是這樣,我就不用寫這篇了…. 事實上, 無碟的客端機,平時根本連光碟/硬碟都沒有,我怎麼可能一台一台拔光碟機裝WIN7?

聽說WIN7可以用換成用USB安裝,所以我目標就轉向用USB隨身碟開機來裝, 結果也不行, GPXE重導向BIOS設備開機時如果不是DVD-ROM,主機板居然又會重複用網卡再開機一次, 所以會陷入無限迴圈…

最後試驗成功的方法就是:

(1)建立iSCSI客端15GB虛擬磁碟

(2)用一般XP連入iscsi客端, 我的電腦–>管理–> “起始化”此虛擬磁碟,並建立”15GB”的主分割區,設定為”使用中”.

(3)將WIN7光碟中根目錄所有的檔案/資料夾全部複製到新建的iscsi虛擬磁碟中

(4)進入指令列模式中, 在WIN7光碟的boot目錄下執行:

BOOTSECT /nt60 K:

(其中K代表你iscsi虛擬磁碟的代號,你可以自己修改)

(5)這樣這個iscsi虛擬磁碟就有完整的WIN7安裝程式,並有開機碼可當開機磁碟,斷開與這個iscsi連接.

(6)用無碟客端開機(要加入的設定方法如最上面所述), 會直接進入WIN7安裝畫面, 前面”綠條”跑動等待時間滿久的,有時會要3~5分鐘,這是正常現象,因為WIN7安裝程式要確定你的硬體資訊,進入後,直接將WIN7系統裝入同一個分割區, 安裝10~20分鐘,重開機個幾次就會裝好.

(7)第一次進入會顯示有兩個啟動選項, 預設是(1)WINDOWS7  另一個是(2)WINDOWS7 (SETUP),你若不想再看到,在進入WIN7後, 電腦–>系統–>啟動 選項中把它取消即可.

(8)安裝完後,我們不再需要WIN7安裝光碟, 再C:中,把剛才WIN7安裝光碟複製過來的檔案/資料夾通通刪除(不要刪錯喔…),你小心比對一下,應該不難分辨.

 

這樣就可以正常使用WIN7無碟系統, WIN7與XP最大差別,就在於不用再安裝sanbootconf程式,WIN7會自動引導, 但也一樣網卡會自動抓從DHCP取得的IP,但卻不會修改電腦名稱, 不過WIN7碰到相同NETBIOS名稱的電腦,是不會產生衝突,也不會一直亂叫,只是分享共用資料夾會有問題. 這樣就不用像XP一樣要修改sanbootconf程式來避免.

若我們想要一進WIN7就會判別並修改電腦名稱,可以寫一個批次檔,用WMIC指令判別進來網卡是何IP,再對應修改電腦名稱來解決, 完成後再寫入EWF中,再用SHUTDOWN指令重開機即可.

 

2011/10/27 後記

經過實測,原來用上述方法安裝WIN7後,用iscsi遠端開機進入WIN7,可以再加裝sanbootconf(0.9.7版),這樣做有甚麼好處呢? 就是可以免重開機就修改電腦名稱,他會直接抓DHCP option 12的hostname來當電腦名稱,當然,你要先用”無語流星”工作室先前公布修改好的sanbootconf才可以(我前面的文章有修改的方法,不再贅述).

另外,64bit的Win7在安裝sanbootconf會出現錯誤,因為這個版本的所有驅動程式都要經過微軟”數位簽署”,也就是說不允許你安裝”自製”的驅動程式, 解決的方法, 要使用特殊軟體,啟動”測試模式”,再把”浮水印”去除就ok了!

Debian安裝DHCP Server

可參考官方文件https://wiki.debian.org/DHCP_Server

 

底下做簡單紀錄

step1.安裝

#apt-get install isc-dhcp-server

 

step2.編輯conf

#vi /etc/default/isc-dhcp-server.conf

 

step3.將註解拿掉

DHCPD_CONF=/etc/dhcp/dhcpd.conf

DHCPD_PID=/var/run/dhcpd.pid

OPTIONS=””

INTERFACES=”eth0″ #改成發出dhcp封包的介面

 

step4.重啟

#service isc-dhcp-server restart

Debian要如何建立GNU GCC Compiler

將Debian安裝好後,預設沒有make指令,也沒有gcc

輸入make會出現

#-bash: make: command not found

可下達下列指令安裝

# apt-get install build-essential

檢查gcc
# gcc -v

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.7/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v –with-pkgversion=’Debian 4.7.2-5′ –with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs –enable-languages=c,c++,go,fortran,objc,obj-c++ –prefix=/usr –program-suffix=-4.7 –enable-shared –enable-linker-build-id –with-system-zlib –libexecdir=/usr/lib –without-included-gettext –enable-threads=posix –with-gxx-include-dir=/usr/include/c++/4.7 –libdir=/usr/lib –enable-nls –with-sysroot=/ –enable-clocale=gnu –enable-libstdcxx-debug –enable-libstdcxx-time=yes –enable-gnu-unique-object –enable-plugin –enable-objc-gc –with-arch-32=i586 –with-tune=generic –enable-checking=release –build=x86_64-linux-gnu –host=x86_64-linux-gnu –target=x86_64-linux-gnu
Thread model: posix
gcc version 4.7.2 (Debian 4.7.2-5)

檢查make
# make -v

GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

 

若有跳出訊息的話,表示安裝完成

 

DSL-6740C硬體撥接出現的問題

電腦突然不能上網,檢查網路狀態都是正常

去查看數據機的Log ,出現很多行

Xmas port scan attack from WAN1.2 (ip:xxx.xxx.xxx.xxx) detected.

 

先前已經設定好不能遠端控制DSL-6740C

picpick_253

但發現卻仍然可以使用外部IP連上控制頁面

picpick_255

我發現只要打開DMZ之後,外部IP才連不上DSL-6740C

picpick_254

 

不曉得其他人會不會這樣…

 

 

忘記mysql的root密碼

移除 MySQL Root 密碼步驟

step1.需要root權限

#su -l root

step2.停止mysql

#/etc/init.d/mysql stop

step3.重啟mysql 加上忽略grant-tables
#/usr/sbin/mysqld –skip-grant-tables –user=root & # 啟動mysql

step4.登入mysql
#mysql -u root #直接登入mysql

step5.更新mysql,範例將密碼清空
#mysql> UPDATE mysql.user SET Password=PASSWORD(”) WHERE User=’root’; # 將 root 密碼清掉
#mysql> quit

step6.重啟mysql
#/etc/init.d/mysql restart

 

修正 debian 下 mrtg 跳出perl 錯誤訊息的解決方法

錯誤訊息如下

root@debian:/etc/mrtg# env LANG=C /usr/bin/mrtg /etc/mrtg.cfg
Subroutine SNMP_Session::pack_sockaddr_in6 redefined at /usr/share/perl/5.14/Exporter.pm line 67.
at /usr/share/perl5/SNMP_Session.pm line 149
Subroutine SNMP_Session::unpack_sockaddr_in6 redefined at /usr/share/perl/5.14/Exporter.pm line 67.
at /usr/share/perl5/SNMP_Session.pm line 149
Subroutine SNMP_Session::sockaddr_in6 redefined at /usr/share/perl/5.14/Exporter.pm line 67.
at /usr/share/perl5/SNMP_Session.pm line 149
Subroutine SNMPv1_Session::pack_sockaddr_in6 redefined at /usr/share/perl/5.14/Exporter.pm line 67.
at /usr/share/perl5/SNMP_Session.pm line 608
Subroutine SNMPv1_Session::unpack_sockaddr_in6 redefined at /usr/share/perl/5.14/Exporter.pm line 67.
at /usr/share/perl5/SNMP_Session.pm line 608
Subroutine SNMPv1_Session::sockaddr_in6 redefined at /usr/share/perl/5.14/Exporter.pm line 67.
at /usr/share/perl5/SNMP_Session.pm line 608

解決方法

參考

http://mark.orbum.net/2013/06/07/fix-for-mrtg-generating-snmp_session-error-in-debian-wheezy-and-possibly-ubuntu/

修改檔案 /usr/share/perl5/SNMP_Session.pm

#vim /usr/share/perl5/SNMP_Session.pm

跳到149行 (輸入:149)

原來: import Socket6;
改成: Socket6->import(qw(inet_pton getaddrinfo));

跳到609行
原來: import Socket6;
改成: Socket6->import(qw(inet_pton getaddrinfo));

之後再執行 env LANG=C /usr/bin/mrtg /etc/mrtg.cfg
應該不會再跳出錯誤訊息了

主要是import Socket6這個部分出現問題