以ext4文件系统为例,设计的时候分为4个部分
超级块: 最开头部分,记录整个文件系统/分区中的文件数,df根据该信息进行统计磁盘占用 超级块副本: 对超级块进行备份,存在多个备份 i节点(inode): 记录每个文件信息,名称/大小/编号/权限。 用ls -i获取i节点信息 数据块(datablock): 事实上的数据存储点,i节点以链接式结构记录数据块的信息,因此找到i节点,就能读取对应的数据。由于ls -l获取的是i节点记录的数据使用的数据块个数,而du则是通过i节点获取实际大小, 所以ls -l和du显示的数据大小不同。
RAIDRAID全称是Redundant Array of Independent Disks,也就是磁盘阵列,通过整合多块硬盘从而提升服务器数据的安全性,以及提高数据处理时的I/O性能。
RAID目前常用的是RAID5, 至少需要3块硬盘,其中一块硬盘用于奇偶校验,保证数据安全,其余硬盘同时读写,提高性能。此外,你还需要知道最原始的是RAID0,同时将数据读写到所有硬盘里,速度就变成了原来的N倍。RAID1至少需要两块盘,其中一块硬盘是另外硬盘的镜像。它不提高读写效率,只提高了数据安全性。RAID10是RAID0和RAID1的组合。
目前的服务器都配备了硬件RAID卡,因此在为服务器增加或更换硬盘时,需要格外注意,
插入的硬盘必须先做RAID才能被服务器识别 RAID5中的所有硬盘应当被视为一个硬盘,不能只更换其中一部分 硬盘分区fdisk只能对不多于2TB的硬盘进行分区
fdisk /dev/sdb假如你的硬盘大于2TB,那么会输出如下信息
Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0x405fb398. WARNING: The size of this disk is 10.0 TB (10000294477824 bytes). DOS partition table format can not be used on drives for volumes larger than (2199023255040 bytes) for 512-byte sectors. Use parted(1) and GUID partition table format (GPT). The device presents a logical sector size that is smaller than the physical sector size. Aligning to a physical sector (or optimal I/O) size boundary is recommended, or performance may be impacted. Command (m for help):提示信息中的警告中,就建议"Use parted(1) and GUID partition table format (GPT)."
因此,对于大于2TB的硬盘就需要用parted进行分区
parted /dev/sdb输出信息如下
GNU Parted 3.1 Using /dev/sdb Welcome to GNU Parted! Type 'help' to view a list of commands.创建新的GPT标签,例如
mklabel gpt设置单位
unit TB创建分区, 比如我将原来的10T分成2TB和8TB
# mkpart PART-TYPE [FS-TYPE] START END mkpart primary ext4 0.00TB 2.00TB mkpart primary ext4 2.00TB 10.00TB查看分区表
print输出如下
Model: AVAGO MR9361-8i (scsi) Disk /dev/sdb: 10.0TB Sector size (logical/physical): 512B/4096B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 2000GB 2000GB primary 2 2000GB 10.0TB 8000GB primary退出
quit此时会提示"Information: You may need to update /etc/fstab." /etc/fstab用于设置开机硬盘自动挂载。如果硬盘被拔走了,而/etc/fstab没有修改,那么会就提示进行修复模式。
硬盘格式化在挂载硬盘之前,需要先对磁盘进行格式化。使用的命令为mkfs, 使用-t指定文件系统,或者用mkfs.xxx,其中xxx就是对应的文件系统。文件系统有如下几类
传统文件系统: ext2, minix, msdos, fat, vfat 日志文件系统: ext3, xfs, ext4 网络文件系统: nfs目前最流行的是ext4和xfs,足够稳定。其中xfs是CentOS7之后的默认文件系统。
mkfs.ext4 /dev/sdb1 mkfs.ext4 /dev/sdb2 硬盘挂载之后用mount进行硬盘挂载,分别两种情况考虑
一种是新建一个文件路径,进行挂载。
mkdir data2 mount /dev/sdb2 /data2/另一种是挂载一个已有目录,比如说临时文件目录/tmp挂载到新的设备中。
第一步: 新建一个挂载点,将原有数据移动到该目录下
mkdir /storage mount /dev/sdb1 /storage cp -pdr /tmp/* /storage第二步: 删除原来的/tmp下内容
rm -rf /tmp/*第三步: 重新挂载
umount /dev/sdb1 mount /dev/sdb1 /tmp和mount相关的文件如下
/etc/fstab: 文件系统表, 开机的时候会根据里面的记录进行硬盘挂载 /etc/mtab: 记录着已经挂载的文件系统 /etc/mtab~: 锁定文件 /etc/mtab.tmp: 临时文件 /etc/filesystems: 系统支持的文件系统此外mount在挂载的时候还可以设置文件系统参数,例如是否支持磁盘配额,对应-o参数
总结第零步: 检查服务器是否具备RAID阵列卡,如果有,则需要先为硬盘做RAID。
第一步: 使用fdisk -l检查硬盘是否能被系统检测到
第二步(可选): 假如需要硬盘分区,则用fdisk/gdisk/parted对硬盘划分磁盘
第三步: 使用mkfs进行磁盘格式化,有如下几种可选,
第四步: 用mkdir新建一个目录,然后用mount将格式化的硬盘挂载到指定目录下。卸载硬盘,则是umout
第五步: 修改/etc/fstab将硬盘在重启的时候自动挂载。注意: 如果硬盘不在了,则需要将对应行注释掉,否则会进入到emergency模式。
版权申明:本站文章均来自网络,如有侵权,请联系01056159998 邮箱:itboby@foxmail.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有