磁盘分区、检查、格式化、挂载、卸载
fdisk /dev/sdb 修改分区表
m:进入功能菜单
n:添加一个分区{p:主分区;e:扩展分区}
p:显示分区表
w:保存分区设置并退出
使用fdisk修改分区表信息后,要使用{partprobe /dev/磁盘名}通知内核分区表的修改变化,再格式化{mkfs -t ext4 -b xxx -i xxx /dev/磁盘名},最后再挂载{mount /dev/磁盘名 /mnt}
mkfs -t ext4 -b xxx -i xxx /dev/磁盘名:-t 指定文件系统类型,-b 指定block大小,-i 指定inode大小
parted是一个磁盘分区管理工具,它比fdisk更加灵活且功能更丰富,同时支持GUID分区表
parted的操作是实时的,不像fdisk还需要w执行写入
parted /dev/sdb 设置分区表信息 mklabel gpt 设置分区格式为gpt mkpart primary 0 10 添加主分区10M大小,Ignore[忽略] mkpart primary linux-swap 11 21 添加swap类型的主分区 mkpart logical ext4 22 32 添加逻辑分区
p:显示分区表
使用物理分区构建swap
fdisk /dev/sdb 【分成一个区/dev/sdb1】
mkswap /dev/sdb1 格式化分区 free swapon /dev/sdb1 使用swap分区 free swapoff /dev/sdb1 停用swap分区
swap在工作中,特别是java环境,程序写的有问题,会发生内存泄露,可能会被占用。
解决办法:开发修改程序,运维临时加大swap。
dumpe2fs /dev/sdb1 显示文件系统的超级块和块组信息。
如无法查看,可能是因为文件系统不是ext4,使用blkid /dev/sdb1 查看文件系统类型
文件系统有哪些{Btrfs、JFS、ext、ext2、ext3、ext4、ISO9660、Minx、MSDOS、xfs、zfs、Reiserfs、FAT、NTFS、UMSDOS、VFAT、HPFS、SMB、SysV、PROC}
ipmitools 查看硬件信息工具
总结:
①、给磁盘分区的实质就是针对0磁头0磁道1扇区的前446字节后面接下来的64字节的分区表进行设置,主要是划分起始以及结束磁头号、扇区号、柱面号;
②、给磁盘分区的工具有fdisk(硬盘大小小于2T时使用)和parted(硬盘大小大或小于2T都可以使用)普选fdisk,大于2t选parted;
③、一块磁盘的分区表只有64字节,每个分区表要占16字节,所以一块磁盘仅支持4个分区表,即主分区+扩展区的总量不超过4个;
④、磁盘分区是按照柱面来划分的;
⑤、扩展分区不能直接使用,还需要在扩展分区上创建逻辑分区:
⑥、扩展分区有自己的分区表,因此,扩展分区下面的逻辑分区可以有多个。
1)磁盘分区:disk
fdisk /dev/sda parted /dev/sda ——>支持大于2T的硬盘分区
2)磁盘格式化: mkfs -t ext3 /dev/sdb1
3)磁盘检查:fsck,badblocks
fsck -C -f -t ext4 /dev/sdb1 ——>没坏的磁盘一定不要用
badblocks -sv /dev/sdb1 ——>此命令可被fsck替代
4)磁盘的挂载与卸载:
①挂载ext2/ext3 文件系统
mount /dev/sdb1 /mnt
df -h
②挂载CD或DVD光盘
mkdir /media/cdrom
mount -t iso9660 /dev/cdrom /media/cdrom ——> -t iso9660这是光盘的格式 mount /dev/cdrom /mdeia/cdrom ——> 系统自动挂载
③格式化与挂载软盘
mkfs -t vfat /dev/sdb1 mkdir /media/floppy mount -t fat /dev/sdb1 /media/floppy
df
④挂载U盘
mkdir /tmp/flash mount -t vfat -o iocharset=cp950 /dev/sdb1 /tmp/flash
⑤文件卸载
umount /dev/sdb1
⑥开机挂载/dev/fstab和/etc/mtab
将/dev/sdb1每次开机都自动挂载到/tmp/sdb1
编辑/dev/fstab
写入:/dev/sdb1 /tmp/sdb1 ext3 defaults 0 0
服务器多磁盘的结构体系
从冗余、性能、成本这三个方面来比较RAID各模式的差异
服务器一般都会安装RAID卡(独立RAID卡需要购买的),RAID卡自带缓存。
冗余从好到坏:raid1、raid10、raid5、raid0
性能从好到坏:raid0、raid10、raid5、raid1
成本从高到低:radi0、raid5、raid1、raid10
举例:
1、单台服务器,很重要,盘不多,系统盘raid1;
2、数据库/存储服务器,主库raid10,从库raid5/raid0(为了维护成本:raid10)
3、web服务器,如果没有太多数据,raid5/raid0(单盘)
4、有多台服务器,比如监控/应用服务器,选择raid0/raid5
RAID 0:
在 RAID 0(条带化)中数据将使用切片的方式被写入到磁盘。一半的内容放在一个磁盘上,另一半内容将被写入到另一个磁盘。
在这种情况下,如果驱动器中的任何一个发生故障,我们就会丢失数据,因为一个盘中只有一半的数据,不能用于重建 RAID。不过,当比较写入速度和性能时,RAID 0 是非常好的。创建 RAID 0(条带化)至少需要2个磁盘。如果你的数据是非常宝贵的,那么不要使用此 RAID 级别。
总结:
高性能。
RAID 0 中容量零损失。
零容错。
写和读有很高的性能。
RAID 1:
当我们保存数据时,它将同时写入这两个2TB驱动器中。创建 RAID 1(镜像化)最少需要两个驱动器。如果发生磁盘故障,我们可以通过更换一个新的磁盘恢复 RAID 。如果在 RAID 1 中任何一个磁盘发生故障,我们可以从另一个磁盘中获取相同的数据,因为另外的磁盘中也有相同的数据。所以是零数据丢失。
总结:
良好的性能。
总容量丢失一半可用空间。
完全容错。
重建会更快。
写性能变慢。
读性能变好。
能用于操作系统和小规模的数据库。
RAID 5:
假设我们有4个驱动器,如果一个驱动器发生故障而后我们更换发生故障的驱动器后,我们可以从奇偶校验中重建数据到更换的驱动器上。奇偶校验信息存储在所有的4个驱动器上,如果我们有4个 1TB 的驱动器。奇偶校验信息将被存储在每个驱动器的256G中,而其它768GB是用户自己使用的。单个驱动器故障后,RAID 5 依旧正常工作,如果驱动器损坏个数超过1个会导致数据的丢失。
总结:
性能卓越
读速度将非常好。
写速度处于平均水准,如果我们不使用硬件 RAID 控制器,写速度缓慢。
从所有驱动器的奇偶校验信息中重建。
完全容错。
1个磁盘空间将用于奇偶校验。
可以被用在文件服务器,Web服务器,非常重要的备份中。
RAID 6:
RAID 6 和 RAID 5 相似但它有两个分布式奇偶校验。大多用在大数量的阵列中。我们最少需要4个驱动器,即使有2个驱动器发生故障,我们依然可以更换新的驱动器后重建数据。
它比 RAID 5 慢,因为它将数据同时写到4个驱动器上。当我们使用硬件 RAID 控制器时速度就处于平均水准。如果我们有6个的1TB驱动器,4个驱动器将用于数据保存,2个驱动器将用于校验。
总结:
性能不佳。
读的性能很好。
如果我们不使用硬件 RAID 控制器写的性能会很差。
从两个奇偶校验驱动器上重建。
完全容错。
2个磁盘空间将用于奇偶校验。
可用于大型阵列。
用于备份和视频流中,用于大规模。
RAID 10:
RAID 10 可以被称为1 + 0或0 +1。它将做镜像+条带两个工作。在 RAID 10 中首先做镜像然后做条带。在 RAID 01 上首先做条带,然后做镜像。RAID 10 比 01 好。
总结:
良好的读写性能。
总容量丢失一半的可用空间。
容错。
从副本数据中快速重建。
由于其高性能和高可用性,常被用于数据库的存储中。