linux 磁盘管理

28
河河河河河河河河河河河河河 Linux 河河 Linux 河河河河 西

Upload: danica

Post on 01-Feb-2016

191 views

Category:

Documents


0 download

DESCRIPTION

Linux 磁盘管理. 刘西洋. 1. 磁盘管理. 1.1 MSDOS 分区表 1.2 GPT 分区表 1.3 设备文件 1.4 简单分区 1.5 LVM 逻辑卷管理 1.6 Linux Software RAID. 1.1 MBR 分区表. MBR 分区表,也称为 MSDOS 格式。即 PC-BIOS+MBR 这种组合模式下磁盘分区表类型。 磁盘前 512 字节记录磁盘引导和分区信息。 MBR 格式的标准决定了 MBR 只支持在 2TB 以下的硬盘,如果硬盘超过 2TB 时,只能管理到 2TB ! - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Linux 磁盘管理

河南宏力集团网络管理部内部 Linux培训

Linux磁盘管理

刘西洋

Page 2: Linux 磁盘管理

1. 磁盘管理 1.1 MSDOS 分区表 1.2 GPT 分区表 1.3 设备文件 1.4 简单分区 1.5 LVM 逻辑卷管理 1.6 Linux Software RAID

Page 3: Linux 磁盘管理

1.1 MBR 分区表 MBR 分区表,也称为 MSDOS 格式

。即 PC-BIOS+MBR 这种组合模式下磁盘分区表类型。

磁盘前 512 字节记录磁盘引导和分区信息。

MBR 格式的标准决定了 MBR 只支持在 2TB 以下的硬盘,如果硬盘超过 2TB 时,只能管理到 2TB !

 MBR 支持的最大卷为 2 TB  ,并且每个磁盘最多只能有 4 个主分区 ( 或3 个主分区, 1 个扩展分区和无限制的逻辑分区)

Page 4: Linux 磁盘管理

1.2 GPT 分区表GPT,全局唯一标识分区表 (GUID Partition Table) 。 GPT 是 EFI方案的一部分,但并不依赖于 EFI主板,在BIOS主板的 PC中也可使用 GPT分区。与 MBR最大 4个分区表项的限制相比,GPT对分区数量没有限制。 GPT可管理硬盘大小达到了 18EB。 GPT的分区信息是在分区中,至关重要的平台操作数据位于分区,而不是位于非分区或隐藏扇区。另外, GPT 分区磁盘有多余的主要及备份分区表来提高分区数据结构的完整性。允许将主磁盘分区表和备份磁盘分区表用于冗余,支持唯一的磁盘和分区 ID。

Page 5: Linux 磁盘管理

1.3 设备文件 Linux 下所有设备文件都存在于 /dev 目录中,磁盘设备也

不例外。 常见磁盘设备文件有以下几类:

/dev/hda /dev/hda[0-9] 普通 IDE 磁盘设备 /dev/sda /dev/sda[0-9] 普通 SATA/SCSI 磁盘设备 /dev/vda / dev/vda[0-9] 虚拟磁盘设备 /dev/md /dev/md[0-9] 软 RAID 设备 /dev/dm-[0-9] 磁盘映射虚拟设备 LVM /dev/cciss/c0d0px c 表示控制器; d 表示磁盘; p 表示分区 /dev/vg_mail/ LVM 卷组 /dev/vg_mail/LogVol_home LVM 逻辑卷

Page 6: Linux 磁盘管理

1.4 简单分区 简单分区,即创建分区表,划分分区,创建文件系统。 MBR :

创建分区表格式为 MBR 。 创建主分区 sda1 :

» 大小: 100MB ;挂载点: /boot ;文件系统: ext4

创建主分区 sda2 :» 大小: 1-2 倍内存;挂载点:无;文件系统: swap 。

创建主分区 sda3 :» 大小: 10G ;挂载点: / ;文件系统: ext4

创建扩展分区 sda4 : 创建逻辑分区 sda5 :

» 大小:自定义 挂载点: /home ;文件系统: ext4

GPT :除不需要创建扩展分区和逻辑分区外,无任何区别。

Page 7: Linux 磁盘管理

1.5 LVM 逻辑卷管理 LVM 可提供,不中断服务,动态扩充或缩减分区的存储容量。 通过 LVM ,我们可以把多个小磁盘分区,添加到同一个卷组,综合

划分逻辑卷。积少成多。 物理卷:经过 LVM 处理过的普通标准分区或已创建的 Linux

Software RAID 卷。即,我们需要选择用于 LVM 的物理存储器资源。

卷组:可以看作是由一个或多个物理卷所组成的存储器池。 逻辑卷:在逻辑组上创建的分区。在其上可创建操作系统。 操作方法:

准备磁盘。 创建物理卷。 pvcreate 使用创建好的物理卷创建卷组。 vgcreate 创建逻辑卷 lvcreate 在逻辑卷上创建分区。

Page 8: Linux 磁盘管理

1.6 Linux Software RAID

在 Linux 系统中目前以 MD (Multiple Devices) 虚拟块设备的方式实现软件 RAID ,利用多个底层的块设备虚拟出一个新的虚拟块设备,

目前 MD 支持 linear, multipath, raid0 , raid1, raid4, raid5, raid6, raid10 等不同的冗余级别和组成方式,也能支持 raid1+0, raid5+1 。

建议使用软 RAID 时,仅用 RAID0 , RAID1 。因为复杂的 RAID 5 等模式会消耗 30% 左右的 CPU 资源用来校验。

操作方法: 创建 FD 格式物理卷,大小要符合要求,比如 RAID1 就应该创建两个同

样大小的分区。 mdadm --create 创建 RAID 阵列设备。详细参数参见 man 手册。 使用创建好的阵列设备

» 可以直接创建文件系统: mkfs.ext3 /dev/md0

» 也可以创建 LVM 物理卷: pvcreate

Page 9: Linux 磁盘管理

2. 相关命令和文件 2.1. 配置文件

/etc/fstab /etc/mtab

2.2. 分区操作命令 fschk fdisk

2.3. 磁盘检查命令 2.4. 维护命令

df du

2.5. LVM 命令 2.6. 软 RAID 命令

Page 10: Linux 磁盘管理

2.1 相关配置文件 /etc/fstab 文件

fs_spec          fs_file   fs_type fs_options   fs_dump   fs_pass  

/dev/mapper/vg_mail-LogVol_root  / ext4     defaults        1  1

/dev/mapper/vg_mail-LogVol_home  /home ext4     defaults        1  2

/dev/mapper/vg_mail-LogVol_tmp  /tmp ext4     defaults        1  2

/dev/mapper/vg_mail-LogVol_var  /var ext4     defaults        1  2

fs_spec 该字段定义文件系统所在设备或远程文件系统,除了使用设备名,还可使用 UUID 或卷标。fs_file 描述文件系统的载入点,交换分区为 none ,路径中包含的空格符用“ \040” 替代。fs_type 定义了该设备上的文件系统类型。fs_options 指定加载时使用的参数,多个参数逗号分隔。fs_dump 该选项被 dump 命令用来检查文件系统转储频率,不需转储置 0

fs_pass 该字段被 fsck 命令用来决定在启动时文件系统扫描顺序, "/"对应值应为 1 ,其他应为 2

/etc/mfstab 记录当前已挂载的分区信息,格式和 fstab 相同

Page 11: Linux 磁盘管理

2.2 分区操作命令 fdisk 命令行下, 交互式 MBR 磁盘划分工具 cfdisk 命令行下,类图形MBR 磁盘划分工具 parted 命令行下,交互式 GPT 磁盘划分工具

详细命令使用方法参见 man 手册

Page 12: Linux 磁盘管理

2.3 磁盘检查命令 badblocks 检查磁盘装置中损坏的区块,执行指令时须指定所要检查

的磁盘装置,及此装置的磁盘区块数。 /sbin/fsck 检查文件系统并尝试修复错误。 /sbin/e2fsck = /sbin/fsck .ext2= /sbin/fsck -t ext2 检查 ext2 文件系统 /sbin/fsck .ext3 = /sbin/fsck -t ext3 检查 ext3 文件系统 /sbin/fsck .ext4 = /sbin/fsck -t ext4 检查 ext4 文件系统 /sbin/dosfsck = /sbin/fsck.msdos = /sbin/fsck.vfat 检查 MS-DOS 文件系

统错误

详细命令使用方法参见 man 手册

Page 13: Linux 磁盘管理

2.4 维护分区命令 df 检查文件系统的磁盘空间占用情况,可显示所

有文件系统对 i node 和 blocks 的使用情况 du 查看磁盘使用情况。 详细命令使用方法参见 man 手册

Page 14: Linux 磁盘管理

2.5 LVM 命令

1 物理卷操作/sbin/pvdisplay 显示物理卷信息/sbin/pvcreate /sbin/pvremove /sbin/pvmove /sbin/pvresize

执行 locate pv | grep sbin 命令查找相关命令2 卷组操作

/sbin/vgdisplay 显示逻辑组信息/sbin/vgcreate /sbin/vgremove /sbin/vgreduce /sbin/vgextend

执行 locate vg | grep sbin 命令查找相关命令3 逻辑卷操作

/sbin/lvdisplay 显示逻辑卷信息/sbin/lvcreate /sbin/lvremove /sbin/lvreduce /sbin/lvextend

执行 locate lv | grep sbin 命令查找相关命令

Page 15: Linux 磁盘管理

2.6 软 RAID 命令 软件 RAID 管理命令就一个 mdadm 实例:

mdadm -C /dev/md1 -l 1 -n 2 /dev/sda7 /dev/sda8

创建 md1 RAID1 由 sda7和 sda8   组成 sda12为备用cat /proc/mdstat

查看阵列详细信息mdadm --stop /dev/md1

停止一个阵列

Page 16: Linux 磁盘管理

3. 实例 3.1 创建简单分区,并创建文件系统 3.2 创建 LVM 分区,并创建文件系统 3.3 创建软 RAID 阵列,并使用 LVM 创建文件系

Page 17: Linux 磁盘管理

3.1 简单分区命令:创建虚拟硬盘文件

dd if=/dev/zero of=/home/disk1 count=10240 bs=1M

映射成硬盘设备 losetup /dev/loop0 /home/disk1

分隔磁盘 (MBR) fdisk /dev/loop0

映射划分过的分区 kpartx -av /dev/loop0

创建文件系统 mkfs.ext4 /dev/mapper/loop0p1

创建挂载点 mkdir /mnt/a

挂载分区 mount /dev/mapper/loop0p1 /mnt/a

解挂分区 umount /mnt/a

去除分区映射 kpartx -dv /dev/loop0

去除硬盘映射 losetup -d /dev/loop0

Page 18: Linux 磁盘管理

3.2 创建 LVM 分区命令:创建虚拟硬盘文件

dd if=/dev/zero of=/home/disk2 count=10240 bs=1M

映射成硬盘设备 losetup /dev/loop0 /home/disk2

分隔磁盘 (gpt) parted /dev/loop0映射划分过的分区 kpartx -av /dev/loop0

创建 LVM物理卷 pvcreate /dev/loop1p[1-7]

创建卷组 vg_disk2  vgcreate vg_disk2 /dev/loop1p[1-7]

查看卷组 vg_disk2  vgdisplay vg_disk2

创建逻辑卷 lvcreate -L 100MB vg_disk2

创建逻辑卷 lvcreate -L 4GB -n lv_home vg_disk2

创建逻辑卷 lvcreate -l 51 -n lv_var vg_disk2

查看卷组 vg_disk2  vgdisplay vg_disk2

Page 19: Linux 磁盘管理

3.3 创建软 RAID

命令:创建虚拟硬盘文件dd if=/dev/zero of=/home/disk11 count=10240 bs=1M

dd if=/dev/zero of=/home/disk12 count=10240 bs=1M

映射成硬盘设备 losetup /dev/loop0 /home/disk11

映射成硬盘设备 losetup /dev/loop1 /home/disk12

分隔磁盘 (mbr) parted /dev/loop0

分隔磁盘 (mbr) parted /dev/loop1

映射划分过的分区 kpartx -av /dev/loop[0,1]

shell脚本创建 RAID阵列------------------------------------------------------------------------------------------

for i in 1 2 5 6 7 do 

mdadm --create /dev/md13i  -l 1 -n 2  /dev/mapper/loop0pi /dev/mapper/loop1pi

done---------------------------------------------------------------------------------------

查看运行的 RAID cat /proc/mdstat

Page 20: Linux 磁盘管理

创建文件系统 mkfs.ext4 /dev/md131

创建物理卷 pvcreate /dev/md13[5-7]

创建卷组 vgcreate vg_raid1 /dev/md13[5-7]

查看卷组 vgdisplay vg_raid1

创建逻辑卷 lvcreate -L 5G -n lv_home vg_raid1

创建文件系统 mkfs.ext4 /dev/vg_raid1/lv_home 

挂载分区 mount /dev/vg_raid1/lv_home /mnt/a

挂载分区 mount /dev/md131 /mnt/b

验证结果 ls /mnt/[a,b]

解挂分区 umount /mnt/[a,b]

删除逻辑卷 lvremove /dev/vg_raid1/lv_home 

删除卷组 vgremove vg_raid1

停止阵列 mdadm --stop /dev/md13[1-2,5-7]

去除分区映射 kpartx -dv /dev/loop[0,1]

去除硬盘映射 losetup -d /dev/loop[0,1]

详见: http://www.ibm.com/developerworks/cn/linux/l-cn-raid/

Page 21: Linux 磁盘管理

4. iSCSI 存储系统 4.1 IP-SAN概念 4.2 IP-SAN优势 4.3 Linux搭建简单 IP-SAN 4.4 使用 IP-SAN 4.5 前景

Page 22: Linux 磁盘管理

4.1 IP-SAN概念 IP-SAN ,即 iSCSI-SAN 。所谓 iSCSI亦即通过 IP网络,

将 SCSI 区块数据转换成网络封包的一种传输标准。数据存取方式上,采用与 FC-SAN 相同的 Block Protocol 协议。

IP-SAN基于十分成熟的以太网技术,普通服务器或 PC机只需要具备网卡,即可共享和使用大容量的存储空间。

IP-SAN基于 TCP/IP技术,没有对传输距离的限制。解决了 FC-SAN 的不超过 50公里物理覆盖。克服了“存储孤岛”的困惑。

Page 23: Linux 磁盘管理

4.2 IP-SAN优势 1. 价格合理,实施过程简单。 2. IP网络技术相当成熟, IP-SAN 减少了配置、

维护、管理的复杂度。 3. 基于 IP网络,数据迁移和远程镜像容易,且支

持跨平台数据共享。 4. IP-SAN基于以太网,没有速度限制;没有距离

限制;没有容量限制。

Page 24: Linux 磁盘管理

4.3 Linux搭建简单 IP-SAN

步骤:安装软件:

yum groupinstall “Network Storage Server”

配置 Server端:vi /etc/tgt/targets.conf  添加类似如下内容

<target iqn.2012.com.honliv:storage.iscsi0> iqn序列,标识符。

backing-store /dev/vg_storage/LogVol_iscsi00 添加两个存储块 backing-store /dev/vg_storage/LogVol_iscsi01

write-cache on 开启写缓存 vendor_id honliv Inc. 厂商 ID,类似描述</target>

service tgtd restart 重启服务tgtadm  --lld iscsi --mode target --op show   

查看服务器状态。

Page 25: Linux 磁盘管理

Linux 用户:安装客户端yum groupinstall “iSCSI Storage Client”

发现服务器发布的 target

iscsiadm -m discovery -t sendtargets -p IP/Hostname

登陆 target

iscsiadm -m node -T iqn.2012.com.honliv:storage.iscsi3 -p storage -l

登出 target

iscsiadm -m node -T iqn.2012.com.honliv:storage.iscsi3 -p storage -u

Windows 用户:下载安装Microsoft iSCSI Initiator 即可使用 IP-SAN

4.4 使用 IP-SAN

Page 26: Linux 磁盘管理

4.5 使用前景 无需光纤 HBA卡,提供千兆环境下服务器端,以

约 60MB/s速率接入 SAN 。 提供百兆城域网范围内的 PC 用户以约 8MB/s 的速率接入 SAN 。以实现工作文档集中存放。

提供远程备份,镜像功能。实现低成本容灾。

Page 27: Linux 磁盘管理

附录:参考链接Linux 中软件 RAID 的使用http://www.ibm.com/developerworks/cn/linux/l-cn-raid/

通用线程 : 学习 Linux LVM

http://www.ibm.com/developerworks/cn/linux/filesystem/lvm/lvm-1/index.html

fstab 百度百科http://baike.baidu.com/view/5499388.htm

Page 28: Linux 磁盘管理