注意:fdisk 最多只能创建4个主分区,即使硬盘还有剩余空间,也无法继续创建分区.可以创建三个主分区,创建一个扩展分区,然后在扩展分区里创建多个逻辑分区.但逻辑分区的总大小不能超过扩展分区的大小.
三. GPT 分区
gdisk分区,支持2TB以上的硬盘分区,可以创建128个主分区。
#需要安装: [root@oldboy ~]# yum install -y gdisk
gdisk
d #删除分区
p #打印分区表
n #添加一个新的分区
w #保存并退出
进行分区
gdisk分区详细过程:
[root@oldboy ~]# gdisk /dev/sdc
GPT fdisk (gdisk) version 0.8.10
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries.
Command (? for help): ?
b back up GPT data to a file #将GPT数据备份到文件中
c change a partition's name #更改分区的名称
** d delete a partition #删除分区
i show detailed information on a partition #显示分区的详细信息
** l list known partition types #列出已知的分区类型
** n add a new partition #添加一个新的分区
o create a new empty GUID partition table (GPT) #创建一个新的空GUID分区表(GPT)
** p print the partition table #打印分区表
** q quit without saving changes #没有保存更改就退出
r recovery and transformation options (experts only) #恢复和转换选项(仅限专家使用)
s sort partitions #年代分类分区
t change a partition's type code #不要更改分区的类型代码
v verify disk #验证磁盘
** w write table to disk and exit #将表写入磁盘并退出
x extra functionality (experts only) #额外功能(仅限专家使用)
** ? print this menu #打印菜单
Command (? for help): n #创建分区
Partition number (1-128, default 1): #选择分区表的编号,选择默认,直接回车键
First sector (34-6442450910, default = 2048) or {+-}size{KMGTP}: #扇区的开始位置,选择默认,直接回车键
Last sector (2048-6442450910, default = 6442450910) or {+-}size{KMGTP}:
#该分区扇区的结束位置,选择默认,只做一个分区,直接回车键,最大值
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): L #显示其他文件类型
Hex code or GUID (L to show codes, Enter = 8300): #选择默认,直接回车
Changed type of partition to 'Linux filesystem'
Command (? for help): p #打印分区的信息
Disk /dev/sdc: 6442450944 sectors, 3.0 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): C783DB62-2CE8-44B1-A2C2-3589541AF6E0
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 6442450910
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)
Number Start (sector) End (sector) Size Code Name
1 2048 6442450910 3.0 TiB 8300 Linux filesystem
Command (? for help): w #保存并退出
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y #确认操作
OK; writing new GUID partition table (GPT) to /dev/sdc.
The operation has completed successfully.
四. 格式化制作文件系统并挂载
1.格式化制作文件系统
可以不分区,直接格式化制作文件系统:
mkfs.xfs /dev/sdb #/dev/sdb整体就是一个分区
也可以基于mbr或者gpt分区完毕后,针对某一个分区制作文件系统:
mkfs.xfs /dev/sdb1
2.挂载与卸载
mount挂载
选项:
-t #文件系统
[root@oldboy ~]# mount -t xfs /dev/sdc1 /data
-o #指定挂载的参数
[root@oldboy ~]# mount -o ro /dev/sdc1 /data 设置挂载目录只读不能写入
[root@oldboy ~]# touch /data/123
touch: cannot touch ‘/data/123’: Read-only file system
-a #重新挂载配置文件/etc/fstab里面的分区表
umount 卸载
-l #强制卸载
mount /dev/sdb1 /opt/ 把sdb1挂载到/opt目录下
umount /dev/sdb1 或者 umount /opt #卸载
umount -l /dev/sdb1 或者 umount -l /opt #强制卸载
开机自动挂载:
blkid 先查看分区的UUID
然后vim /etc/fstab,编辑完成后,执行mount -a 将/etc/fstab的所有内容重新加载一遍.
五.制作swap 分区
1.临时增加内存,需要找个1G的分区
fdisk /dev/sdb2 创建一个1G分区
2.制作swap文件系统
mkswap /dev/sdb2
3.激活swap内存
swapon /dev/sdb2
4.查看虚拟内存信息
[root@oldboy ~]# free -m
total used free shared buff/cache available
Mem: 1980 100 1692 9 188 1695
Swap: 4095 0 4095
5.缩减swap内存
[root@oldboy ~]# swapoff /dev/sdb2
[root@oldboy ~]# free -m
total used free shared buff/cache available
Mem: 1980 100 1691 9 188 1695
Swap: 2047 0 2047
6.禁用所有的swap内存
[root@oldboy ~]# swapoff -a
[root@oldboy ~]# free -m
total used free shared buff/cache available
Mem: 1980 98 1694 9 187 1697
Swap: 0 0 0
7.恢复swap内存
[root@oldboy ~]# swapon -a
[root@oldboy ~]# free -m
total used free shared buff/cache available
Mem: 1980 98 1694 9 187 1697
Swap: 2047 0 2047
8.查看swap内存使用的分区
[root@oldboy ~]# swapon -s
Filename Type Size Used Priority
/dev/sda2 partition 2097148 0 -2
/dev/sdb2 partition 2097148 0 -3
9.通过一个大文件的方式添加临时内存
[root@oldboy ~]# dd if=/dev/zero of=/swap_file bs=100M count=10
10+0 records in
10+0 records out
1048576000 bytes (1.0 GB) copied, 0.992418 s, 1.1 GB/s
[root@oldboy ~]# ll /swap_file
-rw-r--r--. 1 root root 1048576000 Jul 17 19:00 /swap_file
[root@oldboy ~]# chmod 600 /swap_file
[root@oldboy ~]# mkswap -f /swap_file
Setting up swapspace version 1, size = 1023996 KiB
no label, UUID=d822190d-7826-4fb4-9f1c-e011cd421eca
[root@oldboy ~]# swapon /swap_file
swapon: /data/swap_file: insecure permissions 0644, 0600 suggested.
[root@oldboy ~]# free -m
total used free shared buff/cache available
Mem: 1980 99 663 9 1217 1682
Swap: 3047 0 3047
六. 修复文件系统
先尝试修复: xfs_repair /dev/sdb1
如果不行再强制修复,但是数据会丢失,所以需要提前做好备份:
xfs_repair -L /dev/sdb1
如果是ext文件系统,可以使用fsck命令:
七. 文件系统备份与恢复
先安装xfsdump :使用yum -y install xfsdump
xfsdump 的备份级别有两种,默认0(完全备份)
0 :完全备份
1-9(十个级别):增量备份
ps:增量备份是和第一次的完全备份进行比较,只备份有差异的文件.
xfsdump常用参数:
-L (session label) :xfsdump可以记录每次备份的会话标签,这里填写针对此文件系统的简易说明
-M (media label):xfsdump 可以纪录储存媒体的标签,这里可以填写此媒体的简易说明(哪个设备)
-l (小写L):指定等级,有0-9共10个级别,默认为0,即完全备份
-f :指定备份到什么路径和原文件的路径
使用 xfsdump 时的几个限制:
1、xfsdump 不支持没有挂载的文件系统备份!所以只能备份已挂载的!
2、xfsdump 必须使用 root 的权限才能操作 (涉及文件系统的关系)
3、xfsdump 只能备份 XFS 文件系统
4、xfsdump 备份下来的数据 (档案或储存媒体) 只能让 xfsrestore 解析
5、xfsdump 是透过文件系统的 UUID 来分辨各个备份档的,因此不能备份两个具有相同 UUID 的文件系统
#数据备份
先做全量备份,注意备份的源文件路径后面不要加左斜杠 " / " :
xfsdump -l 0 -L sdb3_bak -M sdb3_bak -f 全量备份到某个路径下file1 备份的源文件路径
在做增量备份:
xfsdump -l 1 -L sdb3_bak -M sdb3_bak -f 增量备份到某个路径下file2 备份的源文件路径
xfsdump -l 1 -L sdb3_bak -M sdb3_bak -f 增量备份到某个路径下file3 备份的源文件路径
xfsdump -l 1 -L sdb3_bak -M sdb3_bak -f 增量备份到某个路径下file4 备份的源文件路径
#数据恢复
先恢复全量备份:
xfsrestore -f 全量备份到某个路径下file1 数据恢复的路径
再依次恢复增量备份:
xfsrestore -f 增量备份到某个路径下file2 数据恢复的路径
xfsrestore -f 增量备份到某个路径下file3 数据恢复的路径
xfsrestore -f 增量备份到某个路径下file4 数据恢复的路径
全量备份:
增量备份:
数据恢复,先恢复全量数据:
在恢复增量数据: