服务器硬盘初始化介绍

分区格式介绍

数据盘支持主引导记录分区MBR(Master Boot Record)和全局分区表GPT(Globally Unique Identifier Partition Table)两种分区格式,二者说明如下:

分区格式 最大分区容量 分区数量 分区说明
MBR 2 TiB MBR有以下分区形式:4个主分区3个主分区和1个扩展分区在扩展分区中创建逻辑分区的数目没有限制,可以创建任意多个逻辑分区。 分为主分区、扩展分区和逻辑分区三种类型。
GPT 18 EiB(1 EiB=1,048,576 TiB) Linux:分区数量无限制Windows:128个 所有分区都是主分区,没有扩展分区与逻辑分区的概念。

GPT分区

yum install -y parted
# parted分区工具为小于等于2 TiB的数据盘创建GPT分区,GPT分区也支持2 TiB以上容量
parted /dev/vdb
    mklabel gpt
    mkpart primary 1 100%
    align-check optimal 1
    print
    quit
# 重读分区表
partprobe
# 查看分区信息
fdisk -lu /dev/vdb

MBR分区

# fdisk分区工具为小于等于2 TiB的数据盘创建MBR分区
fdisk -u /dev/vdb
    n
    p
    w
fdisk -lu /dev/vdb

为分区创建文件系统

# 一般不需要装
yum install -y e2fsprogs

可选(一)创建ext4

mkfs -t ext4 /dev/vdb1

配置开机挂载

echo `blkid /dev/vdb1 | awk '{print $2}' | sed 's/\"//g'` /mnt ext4 defaults 0 0 >> /etc/fstab

可选(二)创建xfs

mkfs -t xfs /dev/vdb1

配置开机挂载

echo `blkid /dev/vdb1 | awk '{print $2}' | sed 's/\"//g'` /mnt xfs defaults 0 0 >> /etc/fstab

分区扩容

Redhat类发行版

MBR

type growpart || yum install -y cloud-utils-growpart
LC_ALL=en_US.UTF-8 growpart /dev/vdb 1

GPT分区(需安装gdisk工具)

type growpart || yum install -y cloud-utils-growpart
type sgdisk || yum install -y gdisk
LC_ALL=en_US.UTF-8 growpart /dev/vdb 1 

Ubuntu类发行版

MBR分区

apt-get update
type growpart || apt-get install -y cloud-guest-utils
LC_ALL=en_US.UTF-8 growpart /dev/vdb 1

GPT分区(需安装gdisk工具)

apt-get update
type growpart || apt-get install -y cloud-guest-utils
type sgdisk || apt-get install -y gdisk
LC_ALL=en_US.UTF-8 growpart /dev/vdb 1

扩容文件系统(以上二选一执行完后)

ext*(例如ext2、ext3、ext4)文件系统

resize2fs /dev/vdb1

xfs文件系统

type xfs_growfs || yum install -y xfsprogs
xfs_growfs /mnt

btrfs文件系统

btrfs filesystem resize max /mnt

分区转换

Redhat类发行版

# 安装
type sgdisk || yum install -y gdisk
# 转换
sgdisk -g /dev/vdb

Ubuntu类发行版

# 安装
type sgdisk || apt-get install -y gdisk
# 转换
sgdisk -g /dev/vdb

在裸设备上创建文件系统

裸设备是指没有做过分区且没有经过任何文件系统格式化的云盘设备。本文为您介绍如何在裸设备上创建一个文件系统。

fdisk -l 
mkfs.ext4 /dev/vdb
# 或
sudo mkfs.xfs /dev/vdb
mkdir /media/test
# (推荐)对文件系统的数据安全性和性能都有一定要求(数据安全性和性能适中)
mount /dev/vdb /media/test
# 对文件系统的数据安全性要求较高(数据安全性较高、性能偏低)
mount -o rw,atime,sync,barrier,data=journal /dev/vdb /media/test
# 对文件系统的性能要求较高(性能较高、数据安全性偏低)
mount -o defaults,noatime,nodiratime,nobarrier,nodelalloc,data=writeback /dev/vdb /media/test
echo `blkid /dev/vdb | awk '{print $2}' | sed 's/\"//g'` /media/test ext4 defaults 0 0 >> /etc/fstab
#!/bin/bash

# 确定硬盘和挂载点
DISK="/dev/sdb"
MOUNT_POINT="/mnt/mydisk"

# 创建新的分区
echo -e "n\np\n1\n\n\nw" | fdisk $DISK

# 格式化新的分区为xfs格式
mkfs.xfs ${DISK}1

# 创建挂载点
mkdir -p $MOUNT_POINT

# 挂载新的分区
mount ${DISK}1 $MOUNT_POINT

# 使挂载在启动时生效
echo "${DISK}1 $MOUNT_POINT xfs defaults 0 0" >> /etc/fstab