TA的每日心情 | 开心 2014-5-8 22:32 |
---|
签到天数: 9 天 [LV.3]偶尔看看II
普通用户
|
注册后可查看完整内容!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 wizardtt 于 2014-2-16 21:40 编辑
使用NAS最大的担心就是存储在NAS上数据丢失,无法恢复.Synology 的DSM系统作为目前比较流行的NAS 操作系统也诸如此类的问题,用户的数据因为不当操作,突然掉电 硬盘损坏而无法读取. 其实在大多数的情况下,数据还是可以完整恢复的。 当然保持一份可用的备份才是王道。下面就详细解析DSM 系统的存储管理以及备份恢复建议。
1 存储管理基础:DSM 初始化硬盘
不论是初始安装 还是加入新的硬盘,DSM总是要对新识别的硬盘做初始化. 其初始化实质就是对硬盘划分了4个分区。以后安装DSM或划分数据空间都是基于这些分区的。- DiskStation> fdisk -l /dev/sda
- Disk /dev/sda: 8589 MB, 8589934592 bytes
- 255 heads, 63 sectors/track, 1044 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 1044 3662816 f Win95 Ext'd (LBA)
- /dev/sda5 589 1044 3654768 fd Linux raid autodetect
复制代码 这个命令看的更清楚。- DiskStation> parted /dev/sda
- GNU Parted 3.1
- Using /dev/sda
- Welcome to GNU Parted! Type 'help' to view a list of commands.
- (parted) p
- p
- Model: VBOX HARDDISK (scsi)
- Disk /dev/sda: 8590MB
- Sector size (logical/physical): 512B/512B
- Partition Table: msdos
- Disk Flags:
- Number Start End Size Type File system Flags
- 1 131kB 2550MB 2550MB primary ext4 raid
- 2 2550MB 4698MB 2147MB primary linux-swap(v1) raid
- 3 4832MB 8583MB 3751MB extended lba
- 5 4840MB 8583MB 3742MB logical raid
复制代码 从DSM 命令行输出我们可以看到 sda (通常是第一块硬盘)被划分了 四个分区,其中 第一个和第二个分区的大小是固定的(基于硬件型号一致的前提) 。硬盘剩下的空间都被划分给了 sad3 和 sda5。sda3 是扩展分区,sda5 是用户数据区。
第一个分区是 DSM 安装分区,DSM操作系统 以及后来安装的组件 应用都在这个分区上。 第二个分区是 swap 换页空间。 这两个分区大小是固定的也没必要更改。
2 Software Raid (软raid) DSM 数据保护核心。
当DSM安装好以后 我们登陆DSM命令行界面的时候 我们发现DSM 的根文件系统是在/dev/md0 上面的- DiskStation> df -h
- Filesystem Size Used Available Use% Mounted on
- /dev/md0 2.3G 370.4M 1.9G 16% /
- /tmp 500.3M 396.0K 500.0M 0% /tmp
复制代码 其实 md0 是Linux software raid 所生成的逻辑设备。在DSM系统内 md0 是建立所有硬盘的第一个分区之上,raid 级别是 raid1。 换句话说 DSM 操作系统是安装在所有硬盘上的 这也保证了操作系统的冗余和安全。
以下例子可以看到 在4块硬盘的情况下 md0 分布在 sda1,sdb1,sdc1.sdd1- DiskStation> raidtool status 0
- /dev/md0 is running, status: DEGRADE, rebuilding: None
- Device level: RAID 1
- Device size: 2431 MB (2549940224 bytes)
- Disk:
- [/dev/sdd1: Normal]
- [/dev/sdc1: Normal]
- [/dev/sdb1: Normal]
- [/dev/sda1: Normal]
复制代码 那么md1 是什么呢? swap 换页空间. 对了,swap 空间是 md1 建立在所有硬盘的的二个分区。也是采用raid1 保证冗余和安全。- DiskStation> raidtool status 1
- /dev/md1 is running, status: DEGRADE, rebuilding: None
- Device level: RAID 1
- Device size: 2047 MB (2147418112 bytes)
- Disk:
- [/dev/sdd2: Normal]
- [/dev/sdc2: Normal]
- [/dev/sdb2: Normal]
- [/dev/sda2: Normal]
复制代码 同理 md2 就是真正用来存放数据的空间了。建立在所有硬盘的第四个分区上。- DiskStation> raidtool status 2
- /dev/md2 is running, status: NORMAL, rebuilding: None
- Device level: RAID 5
- Device size: 7136 MB (7482769408 bytes)
- Disk:
- [/dev/sdd5: Normal]
- [/dev/sdb5: Normal]
- [/dev/sda5: Normal]
复制代码 下面将解析下 DSM 的 SHR 以及相应的 raid 信息的 备份以及恢复。
下面我们来解析SHR, 根据群晖的说法 SHR能更好的利用硬盘空间 尤其是在不同大小的硬盘上提供数据保护。那么我们看看命令行下 SHR 卷到底是什么?- DiskStation> df -h
- Filesystem Size Used Available Use% Mounted on
- /dev/md0 2.3G 370.4M 1.9G 16% /
- /tmp 500.3M 344.0K 500.0M 0% /tmp
- /dev/vg1000/lv 10.3G 204.6M 10.0G 2% /volume1
复制代码 这里我们创建了一个名为 Volume1 的 SHR 卷。 在这里出现在命令行界面的是名为 Volume1 的文件系统,其中的vg lv 字眼指示了 这其实是LVM 逻辑卷。 是的,所谓的SHR 就是Linux LVM(Logical Volume Management)逻辑卷管理的马甲。这也就解释了为什么SHR能自由定义/变更文件系统大小,以及能利用不同大小的硬盘空间的优势。这些都是LVM的特性。
这里 LVM的基本概念 PE LV PV VG 就不多解释了,有兴趣可以自己baidu下。
我们再深入看一下 SHR的 LV PV VG 是什么- DiskStation> pvs
- PV VG Fmt Attr PSize PFree
- /dev/md2 vg1000 lvm2 a- 10.45G 0
- DiskStation> vgs
- VG #PV #LV #SN Attr VSize VFree
- vg1000 1 1 0 wz--n- 10.45G 0
- DiskStation> lvs
- LV VG Attr LSize Origin Snap% Move Log Copy% Convert
- lv vg1000 -wi-ao 10.45G
复制代码 在这个实验环境中 可以看到 SHR卷十建立在 名为 lv的 logical volume (LV) 名为vg1000 的Volume Group(VG) 之上的。这里LV占用了VG的全部空间,如果VG 还有可用空间的话 LV可以在线扩容。也可以在线扩容VG的空间。 这些都是LVM带来的灵活性 自然也作为SHR的特点来宣传了。
在这里我们注意到 PV 是 /dev/md2 就是我们前面提到的 软raid的逻辑设备。
简而言之 DSM 初始化硬盘 其中的sd*5是用户数据区。DSM基于所有硬盘的 sd*5 做软raid 。之后所生成的 逻辑设备上(md*)建立LVM卷组。创建文件系统。- DiskStation> pvdisplay /dev/md2
- --- Physical volume ---
- PV Name /dev/md2
- VG Name vg1000
- PV Size 10.45 GB / not usable 4.19 MB
- Allocatable yes (but full)
- PE Size (KByte) 4096
- Total PE 2675
- Free PE 0
- Allocated PE 2675
- PV UUID 6yhBTB-VaZC-JZ3q-rjdP-479v-IxR3-XpU7Je
-
- DiskStation> lvdisplay /dev/vg1000/lv
- --- Logical volume ---
- LV Name /dev/vg1000/lv
- VG Name vg1000
- LV UUID O9I1oQ-56S5-etWE-Z2J3-SHDb-i1D4-T0BlXH
- LV Write Access read/write
- LV Status available
- # open 1
- LV Size 10.45 GB
- Current LE 2675
- Segments 1
- Allocation inherit
- Read ahead sectors auto
- - currently set to 4096
- Block device 253:0
-
- DiskStation> vgdisplay vg1000
- --- Volume group ---
- VG Name vg1000
- System ID
- Format lvm2
- Metadata Areas 1
- Metadata Sequence No 2
- VG Access read/write
- VG Status resizable
- MAX LV 0
- Cur LV 1
- Open LV 1
- Max PV 0
- Cur PV 1
- Act PV 1
- VG Size 10.45 GB
- PE Size 4.00 MB
- Total PE 2675
- Alloc PE / Size 2675 / 10.45 GB
- Free PE / Size 0 / 0
- VG UUID 07HKKF-v7ns-tPYg-rFrP-W1MM-GT4N-Utv2Bo
-
- DiskStation>
复制代码
待续。。
续篇 见 http://nas1.cn/thread-69336-1-1.html
PS 如果有什么问题 可以发消息给我 我会尽力解答。并且逐步完善数据恢复的步骤。
其实 硬盘的选择也是比较重要的一方面,大家如果能选择带有TLER(限时错误校正) 功能的硬盘 那就会稳妥许多。 另外再加上设置文件的备份,基本上没什么大问题。当然最保险的还是再多一重备份 (网盘 之类的)。
|
评分
-
查看全部评分
|