Transcript 3.3.磁盘管理
河南宏力集团网络管理部内部Linux培训 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以下的硬盘,如果硬盘超过2T B时,只能管理到2TB! MBR支持的最大卷为2 TB ,并且每 个磁盘最多只能有4个主分区(或3个 主分区,1个扩展分区和无限制的逻 辑分区) 1.2 GPT分区表 GPT,全局唯一标识分区表(GUID Partition Table)。GPT是EFI方案的一部 分,但并不依赖于EFI主板,在BIOS主 板的PC中也可使用GPT分区。与MBR 最大4个分区表项的限制相比,GPT对 分区数量没有限制。GPT可管理硬盘大 小达到了18EB。 GPT的分区信息是在分区中,至关重要 的平台操作数据位于分区,而不是位于 非分区或隐藏扇区。另外,GPT 分区磁 盘有多余的主要及备份分区表来提高分 区数据结构的完整性。允许将主磁盘分 区表和备份磁盘分区表用于冗余,支持 唯一的磁盘和分区ID。 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逻辑卷 1.4 简单分区 简单分区,即创建分区表,划分分区,创建文件系统。 MBR: 创建分区表格式为MBR。 创建主分区sda1: » 大小:100MB ;挂载点:/boot;文件系统:ext4 创建主分区sda2: » 大小:1-2倍内存;挂载点:无;文件系统:swap。 创建主分区sda3: » 大小:10G;挂载点:/ ;文件系统:ext4 创建扩展分区sda4: 创建逻辑分区sda5: » 大小:自定义 挂载点:/home ;文件系统:ext4 GPT:除不需要创建扩展分区和逻辑分区外,无任何区别。 1.5 LVM逻辑卷管理 LVM可提供,不中断服务,动态扩充或缩减分区的存储容量。 通过LVM,我们可以把多个小磁盘分区,添加到同一个卷组,综合划 分逻辑卷。积少成多。 物理卷:经过LVM处理过的普通标准分区或已创建的 Linux Software RAID 卷。即,我们需要选择用于 LVM 的物理存储器资源。 卷组:可以看作是由一个或多个物理卷所组成的存储器池。 逻辑卷:在逻辑组上创建的分区。在其上可创建操作系统。 操作方法: 准备磁盘。 创建物理卷。pvcreate 使用创建好的物理卷创建卷组。vgcreate 创建逻辑卷 lvcreate 在逻辑卷上创建分区。 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 2. 相关命令和文件 2.1.配置文件 /etc/fstab /etc/mtab 2.2.分区操作命令 fschk fdisk 2.3.磁盘检查命令 2.4.维护命令 df du 2.5. LVM命令 2.6. 软RAID命令 2.1 相关配置文件 /etc/fstab文件 fs_spec /dev/mapper/vg_mail-LogVol_root /dev/mapper/vg_mail-LogVol_home /dev/mapper/vg_mail-LogVol_tmp /dev/mapper/vg_mail-LogVol_var fs_file / /home /tmp /var fs_type ext4 ext4 ext4 ext4 fs_options defaults defaults defaults defaults fs_dump 1 1 1 1 fs_pass 1 2 2 2 fs_spec 该字段定义文件系统所在设备或远程文件系统,除了使用设备名,还可使用UUID或卷标。 fs_file 描述文件系统的载入点,交换分区为none,路径中包含的空格符用“\040”替代。 fs_type 定义了该设备上的文件系统类型。 fs_options 指定加载时使用的参数,多个参数逗号分隔。 fs_dump 该选项被dump命令用来检查文件系统转储频率,不需转储置0 fs_pass 该字段被fsck命令用来决定在启动时文件系统扫描顺序,"/"对应值应为1,其他应为2 /etc/mfstab记录当前已挂载的分区信息,格式和fstab相同 2.2 分区操作命令 fdisk 命令行下, 交互式MBR磁盘划分工具 cfdisk 命令行下,类图形MBR磁盘划分工具 parted 命令行下,交互式GPT磁盘划分工具 详细命令使用方法参见 man手册 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手册 2.4 维护分区命令 df 检查文件系统的磁盘空间占用情况,可显示所 有文件系统对i node和blocks的使用情况 du 查看磁盘使用情况。 详细命令使用方法参见 man手册 2.5 LVM命令 1 物理卷操作 /sbin/pvdisplay 显示物理卷信息 /sbin/pvcreate /sbin/pvremove /sbin/pvmove 执行locate pv | grep sbin命令查找相关命令 2 卷组操作 /sbin/vgdisplay 显示逻辑组信息 /sbin/vgcreate /sbin/vgremove /sbin/vgreduce 执行locate vg | grep sbin命令查找相关命令 3 逻辑卷操作 /sbin/lvdisplay 显示逻辑卷信息 /sbin/lvcreate /sbin/lvremove /sbin/lvreduce 执行locate lv | grep sbin命令查找相关命令 /sbin/pvresize /sbin/vgextend /sbin/lvextend 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 停止一个阵列 3. 实例 3.1 创建简单分区,并创建文件系统 3.2 创建LVM分区,并创建文件系统 3.3 创建软RAID阵列,并使用LVM创建文件系统 3.1 简单分区 命令: 创建虚拟硬盘文件 dd if=/dev/zero of=/home/disk1 count=10240 bs=1M 映射成硬盘设备 分隔磁盘(MBR) 映射划分过的分区 创建文件系统 创建挂载点 挂载分区 解挂分区 去除分区映射 去除硬盘映射 losetup /dev/loop0 /home/disk1 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 3.2 创建LVM分区 命令: 创建虚拟硬盘文件 dd if=/dev/zero of=/home/disk2 count=10240 bs=1M 映射成硬盘设备 分隔磁盘(gpt) losetup /dev/loop0 /home/disk2 映射划分过的分区 kpartx -av /dev/loop0 创建LVM物理卷 创建卷组vg_disk2 查看卷组vg_disk2 创建逻辑卷 创建逻辑卷 创建逻辑卷 查看卷组vg_disk2 pvcreate /dev/loop1p[1-7] parted /dev/loop0 vgcreate vg_disk2 /dev/loop1p[1-7] vgdisplay vg_disk2 lvcreate -L 100MB vg_disk2 lvcreate -L 4GB -n lv_home vg_disk2 lvcreate -l 51 -n lv_var vg_disk2 vgdisplay vg_disk2 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 pper/loop1pi done -l 1 -n 2 /dev/mapper/loop0pi /dev/ma --------------------------------------------------------------------------------------- 查看运行的RAID cat /proc/mdstat 创建文件系统 创建物理卷 创建卷组 查看卷组 创建逻辑卷 创建文件系统 挂载分区 挂载分区 验证结果 解挂分区 删除逻辑卷 删除卷组 停止阵列 去除分区映射 去除硬盘映射 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/ 4. iSCSI存储系统 4.1 IP-SAN概念 4.2 IP-SAN优势 4.3 Linux搭建简单IP-SAN 4.4 使用IP-SAN 4.5 前景 4.1 IP-SAN概念 IP-SAN,即iSCSI-SAN。所谓iSCSI亦即通过IP网络,将S CSI 区块数据转换成网络封包的一种传输标准。数据存取 方式上,采用与FC-SAN 相同的Block Protocol 协议。 IP-SAN基于十分成熟的以太网技术,普通服务器或PC机 只需要具备网卡,即可共享和使用大容量的存储空间。 IP-SAN基于TCP/IP技术,没有对传输距离的限制。解决了 FC-SAN的不超过50公里物理覆盖。克服了“存储孤岛” 的困惑。 4.2 IP-SAN优势 1. 价格合理,实施过程简单。 2. IP网络技术相当成熟,IP-SAN减少了配置、维 护、管理的复杂度。 3. 基于IP网络,数据迁移和远程镜像容易,且支 持跨平台数据共享。 4. IP-SAN基于以太网,没有速度限制;没有距离 限制;没有容量限制。 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 查看服务器状态。 4.4 使用IP-SAN 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 stora ge -l 登出target iscsiadm -m node -T iqn.2012.com.honliv:storage.iscsi3 -p stora ge -u Windows用户: 下载安装Microsoft iSCSI Initiator即可使用IP-SAN 4.5 使用前景 无需光纤HBA卡,提供千兆环境下服务器端,以 约60MB/s速率接入SAN。 提供百兆城域网范围内的PC用户以约8MB/s的速 率接入SAN。以实现工作文档集中存放。 提供远程备份,镜像功能。实现低成本容灾。 附录:参考链接 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