2014年1月13日 星期一

如何在 Synology DSM 直接 mount 舊硬碟

因為搬到外面住了,為了節省電費,我只把原本桌機的硬碟帶上來,然後買了一台 Synology DS214play NAS 來放資料,這樣就不用整天把電腦開著了! 

但是在準備要搬資料的時候發現了一個問題。當我一把硬碟插上去,一定需要先做過初始化的動作,也就是建立 RAID 才能使用,但這個步驟會把硬碟上面的資料都清除 hmm...。

現在情況是我手邊有一顆 USB 外接硬碟可以先存放資料,那要如何透過 DSM 把內接的硬碟資料搬出來,好把這顆內接硬碟在 DSM 內初始化再把資料搬回去呢??

1. 首先,先把內接硬碟直接插到 DSM 上面。但此時你會發現你完全找不到那顆硬碟在哪,因為 /dev 目錄下面亂的非常可怕。

brw-rw----    1 root     root        8,  11 Nov 25  2009 sda11
brw-rw----    1 root     root        8,  12 Nov 25  2009 sda12
brw-rw----    1 root     root        8,  13 Nov 25  2009 sda13
brw-rw----    1 root     root        8,  14 Nov 25  2009 sda14
brw-rw----    1 root     root        8,  15 Nov 25  2009 sda15
brw-rw----    1 root     6           8,   2 Oct 30  2003 sda2
brw-rw----    1 root     6           8,   3 Oct 30  2003 sda3
brw-rw----    1 root     6           8,   4 Oct 30  2003 sda4
brw-rw----    1 root     6           8,   5 Dec 26 00:47 sda5
brw-rw----    1 root     6           8,   6 Oct 30  2003 sda6
brw-rw----    1 root     root        8,   7 Nov 25  2009 sda7
brw-rw----    1 root     root        8,   8 Nov 25  2009 sda8
brw-rw----    1 root     root        8,   9 Nov 25  2009 sda9
brw-rw----    1 root     root       65, 160 Sep 17  2008 sdaa
brw-rw----    1 root     root       65, 161 Sep 17  2008 sdaa1
brw-rw----    1 root     root       65, 170 Nov 25  2009 sdaa10
brw-rw----    1 root     root       65, 171 Nov 25  2009 sdaa11
brw-rw----    1 root     root       65, 172 Nov 25  2009 sdaa12
brw-rw----    1 root     root       65, 173 Nov 25  2009 sdaa13
brw-rw----    1 root     root       65, 174 Nov 25  2009 sdaa14
brw-rw----    1 root     root       65, 175 Nov 25  2009 sdaa15
brw-rw----    1 root     root       65, 162 Sep 17  2008 sdaa2
brw-rw----    1 root     root       65, 163 Sep 17  2008 sdaa3
brw-rw----    1 root     root       65, 164 Sep 17  2008 sdaa4
brw-rw----    1 root     root       65, 165 Nov 25  2009 sdaa5
brw-rw----    1 root     root       65, 166 Nov 25  2009 sdaa6
brw-rw----    1 root     root       65, 167 Nov 25  2009 sdaa7
brw-rw----    1 root     root       65, 168 Nov 25  2009 sdaa8
brw-rw----    1 root     root       65, 169 Nov 25  2009 sdaa9
brw-rw----    1 root     root       65, 176 Sep 17  2008 sdab
brw-rw----    1 root     root       65, 177 Sep 17  2008 sdab1
brw-rw----    1 root     root       65, 186 Nov 25  2009 sdab10
brw-rw----    1 root     root       65, 187 Nov 25  2009 sdab11
brw-rw----    1 root     root       65, 188 Nov 25  2009 sdab12
brw-rw----    1 root     root       65, 189 Nov 25  2009 sdab13
brw-rw----    1 root     root       65, 190 Nov 25  2009 sdab14
brw-rw----    1 root     root       65, 191 Nov 25  2009 sdab15
brw-rw----    1 root     root       65, 178 Sep 17  2008 sdab2
brw-rw----    1 root     root       65, 179 Sep 17  2008 sdab3
--More--

我沒這麼多硬碟阿...

2. 使用 fdisk 來找到現在硬碟到底是對應到哪個代號
# fdisk -l

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks  Id System
/dev/sda1               1         311     2490240  fd Linux raid autodetect
Partition 1 does not end on cylinder boundary
/dev/sda2             311         572     2097152  fd Linux raid autodetect
Partition 2 does not end on cylinder boundary
/dev/sda3             588      121601   972036912   f Win95 Ext'd (LBA)
/dev/sda5             589      121601   972028864  fd Linux raid autodetect

Disk /dev/sdb: 1500.3 GB, 1500301910016 bytes
256 heads, 63 sectors/track, 181688 cylinders
Units = cylinders of 16128 * 512 = 8257536 bytes

   Device Boot      Start         End      Blocks  Id System
/dev/sdb1               1      266306  2147483647+ ee EFI GPT

3. 如果你是 EFI GPT 類型的硬碟,可能需要多用 partd 來看到真正的partition 分割和檔案系統類型,因為在 EFI GPT 狀況下你切了幾個 partition,也只會看到 /dev/sd*1。我這邊沒有這樣的例子,但大家可以試試。
#partd /dev/sdb print

Model: Hitachi HDS723015BLA642 (scsi)
Disk /dev/sdb: 1500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start  End     Size    File system  Name                  Flags
 1      135MB  1500GB  1500GB  ntfs         Basic data partition

4. 接著要把他 mount 起來。這邊看到的例子是 NTFS 的檔案系統。這裡有個地雷就是 mount -t ntfs 是沒用的!! 要用另外一個指令...

# mkdir -p /tmp/mnt
ntfs-3g /dev/sdb1 /tmp/mnt

5. 現在在 /tmp/mnt 下面已經可以看到這顆內接硬碟的資料囉,就把他往外接硬碟搬就可以了。一般來說 USB 外接硬碟在 DSM 下面是掛在 /volumeUSB* 

Reference