Linux_磁盘简介_磁盘分区_格式化制作文件系统与挂载_制作swap分区_修复服务器文件系统

1、磁盘在系统上的命名

设备名称分区信息设备类型
/dev/sda/dev/sda1第一块物理磁盘的第一个分区
/dev/sdb/dev/sdb2第二块磁盘第二个分区
/dev/vdd/dev/vdd4第四块模拟磁盘的第四个分区
1、磁盘在系统上的命名
	1、分区主要分为三类:主分区《---扩展分区《---逻辑分区
	 (1)逻辑分区属于扩展分区
     (2)主分区又叫引导分区,是可以安装系统分区
     
    2、目前常见的磁盘分区格式有两种,MBR分区和GPT分区:
     (1)MBR分区,意思是主引导记录。MBR最大支持2TB容量,最多支持4个主分区
     (2)GPT分区,意思是GUID分区表,它支持的容量大于2T,最多支持128个主分区,这是一个证逐渐取代MBR的新标准,它是由UEFI辅助而形成的,将来UEFI用于取代老旧的BIOS,而GPT则取代MBR。
      
    3、磁盘分区的工具
     (1)fdisk 工具用于MBR格式
     (2)gdisk 工具用于GPT格式

2、MBR与GPT分区

1、MBR分区
	1、查看设备详情,以及分区情况:
    (1)[root@wb01 ~]# lsblk  查看所有的设备分区情况
        NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
        sda      8:0    0   20G  0 disk 
        ├─sda1   8:1    0  800M  0 part /boot
        ├─sda2   8:2    0    2G  0 part [SWAP]
        └─sda3   8:3    0 17.3G  0 part /
        sdb      8:16   0   20G  0 disk 
        ├─sdb1   8:17   0    1G  0 part 
        ├─sdb2   8:18   0    1G  0 part /test2
        ├─sdb3   8:19   0    1G  0 part 
        ├─sdb4   8:20   0    1K  0 part 
        └─sdb5   8:21   0    3G  0 part 
	(2)[root@wb01 ~]# lsblk /dev/sdb #查看指定设备的分区情况
        NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
        sdb      8:16   0  20G  0 disk 
        ├─sdb1   8:17   0   1G  0 part 
        ├─sdb2   8:18   0   1G  0 part /test2
        ├─sdb3   8:19   0   1G  0 part 
        ├─sdb4   8:20   0   1K  0 part 
        └─sdb5   8:21   0   3G  0 part 
        
     2、fdisk工具:
    	适用于磁盘小于2TB的磁盘,分区类型MBR,主要分区4或主分区3个一个扩展分区(逻辑分区)要保存后才能生效。
        fdisk /dev/sdb  #将sdb设备开始分区
        m #列出常用的命令 command
        b edit bsd disklabel #编辑sdb磁盘标签
        d #删除标签 delete、
        l #显示分区类型 list
        n #新建分区new partition
        p print the partition table #显示分区表的信息
        q #退出 quit
        w write table to disk and exit #保存退出
        
2、GPT分区
	可以支持大于2T的盘进行分区,比如可以新增一个2500G的进行试验。 
	gdisk /dev/sdc #将sdc进行分区
    partprobe刷新分区信息

3、格式化制作文件系统与挂载

1、制作文件系统
  磁盘必须格式化制作文件系统,然后挂载才能使用 #centos7选择xfs为默认的文件系统,xfs专为大数据产生,单个文件系统支持8eb,单个文件可以支持16tb,不仅数据量大,而且扩展性高。还可以通过xfsdump。xfsrestore来备份和恢复。
    
  针对一块磁盘/dev/sdb可以不分区,直接格式化制作文件系统
	[root@egon ~]# mkfs.xfs /dev/sdb      制作文件系统
    [root@egon ~]# mount /dev/sdb1 /opt/    挂载
    umount -l /dev/sdb1 或者 umount -l /opt  强制卸载
    修改文件系统的类型可以使用 mkfs.xfs  -f /dev/sdb   
    
2、如何设置开机自动挂载
方法:1:[root@egon ~]# sed -i '$a /dev/sdb1 /opt xfs defaults 0 0' /etc/fstab
       [root@egon ~]# tail -1 /etc/fstab
       /dev/sdb1 /opt xfs defaults 0 0
        
方法2:[root@egon ~]# blkid | grep sdb1
	 /dev/sdb1: UUID="10a939a8-d17c-4a0f-9a89-8066ac013855" TYPE="xfs"
	  vim /etc/fstab #建议使用标准模式uuid填到配置文件中
      [root@egon ~]# tail -1 /etc/fstab #查看最后一行数据是否已添加
      配置完数据一般要重启才能生效
      直接生效的方式:mount -a 
        
3、/etc/fstab配置文件编写格式

	要挂载的设备    挂载点    文件系统类型     挂载参数     是否备份    是否检查
    /dev/sdb1     /data      xfs         defaults       0         0
    
    第一列:device:这里来指定你要挂载的文件系统的的设备或块信息,除了指定设备文件外,也可以使用UUID、LABEL来制定分区。
    
    第二列:dir指定挂载点的路径
    
    第三列: type:指定文件系统的类型。
    
    第四列: option:指定挂载的参数,默认defaults
        参数          含义
        async/sync    是否同步方式运行,默认async(异步)
        user/nouser   是否允许普通用户使用mount命令挂载,默认nouser
        suid/nosuid   是否允许存在suid属性的文件,默认suid
        auto/noauto   执行mount -a时,此文件系统是否被主动挂载,默认auto
        rw/ro         是否只读或者读写的模式进行挂载,默认rw
        defaults      具有rw、suid、exec、auto、nouser、async等默认的参数
    
    第五列:dump:表示该挂载的文件系统是否能被dump备份命令作用
        0  代表不做备份
        1  代表要每天进行备份
        2  代表不定期的进行备份操作
        
    第六列: pass这里用来指定如何使用fsck来检查硬盘
        0  代表不检查
        1  检查,挂载点为/的时候,必须在这里填写1,其他的都不能填写1
        2  检查(1级别的检验后进行2级别的检验)  

4、制作swap分区

    [root@wb01 ~]# free -m    查看内存空间
                  total        used        free      shared  buff/cache   available
    Mem:            972         124         727           7         120         713
    Swap:          1999           0        1999
    [root@wb01 ~]# mkswap /dev/sdb3             制作swap分区
    正在设置交换空间版本 1,大小 = 1048572 KiB
    无标签,UUID=08782ae8-8bfc-4347-92d1-5b98425876d6
    [root@wb01 ~]# swapon /dev/sdb3             激活swap分区
    [root@wb01 ~]# free -m
                  total        used        free      shared  buff/cache   available
    Mem:            972         125         726           7         120         713
        
    Swap:          3023           0        3023
    [root@wb01 ~]# swapoff /dev/sdb3            卸载其交换分区
    [root@wb01 ~]# swapon -s                    查看所有激活的交换分区
    文件名			 类型		 大小	      已用	 权限
    /dev/sda2    partition  2047996	0	   -2

    [root@wb01 ~]# swapoff -a                   卸载所有的swap分区
	[root@wb01 ~]# free -m
                  total        used        free      shared  buff/cache   available
    Mem:            972         123         729           7         119         715
    Swap:             0           0           0

    #注意以上操作设置都是临时的,要保持开机自动动需要在文件中修改/etc/fstab
    
    #DELL R740服务器配置RAID5+1
    https://www.cnblogs.com/linhaifeng/articles/13921161.html   

5、修复服务器文件系统

在linux系统总,为了增加系统性能,通常系统会将一些数据先放在内存中,并不会直接将数据写入硬盘,这是因为内存速度要比硬盘快若干倍,但是有个问题,万一公司服务器突然断电或者其他未知原因,再次启动会造成系统错误“emergency mode”

1、此时执行任何命令都会有会有报错信息

2、查看运行日志,可以提示出损坏的文件系统
journalctl -xb

3、修复方式
	(1)如果进入不了操作系统,可以进入单用户模式下操作或者使用光盘修复模式
	
    (2)首次尝试mount或者umount文件系统,以便重放日志,修复文件系统,如果不行,再执行以下操作。
        [root@localhost ~]# xfs_repair -n /dev/sdb2
        如果是日志和数据不一致了,xfs默认会在挂载的时候修复这种不一致,操作系统给出的建议是以只读的方式挂载并自动修复,可以尝试以只读不修复的方式挂载文件系统。
        [root@localhost ~]# mount -o ro,norecovery /dev/sdb2 /opt
    
    (3)如果上述挂载不成功,可以执行xfs_repair修复文件系统
    [root@localhost ~]# xfs_repair /dev/sdb2
    
	(4)如果还是不行,那最后的办法只能采用“损失部分数据的修复方法”
        根据打印信息,修复失败时:
        先执行xfs_repair -L /dev/sdb2 (清空日志,会丢失文件)
        再执行xfs_repair /dev/sdb2
    
    说明:-L是修复xfs文件系统的最后手段,慎重选择,它会清空日志,会丢失用户数据和文件
    备注:在执行xfs_repair操作前,最好使用xfs_metadump工具保存元数据,一旦修复失败,最起码可以恢复到修复之前的状态。
    (5)修复完成以后,尝试能不能正常挂载。如能。取消挂载,再启动就正常使用了。
    
fp:1、准备一个1G的文件系统与数据
        [root@localhost ~]# mount /dev/sdb1 /opt/
        [root@localhost ~]# echo big_egon > /opt/1.txt
    
    2、模拟文件系统损坏
    	[root@localhost ~]# dd if=/dev/zero of=/dev/sdb bs=500M count=1 
    
    3、此时看似一切正常,可以查看数据且写入数据、
        [root@localhost ~]# cat /opt/1.txt
        big_egon
        [root@localhost ~]# echo egon_nb > /opt/2.txt
        [root@localhost ~]# cat /opt/2.txt
        egon_nb
    
    4、重新挂载后就会失效,即断电系统重启,重新挂载不成功
        [root@localhost ~]# umount /opt
        [root@localhost ~]# mount /dev/sdb1 /opt
        mount: /dev/sdb1 写保护,将以只读方式挂载
        mount: 未知的文件系统类型“(null)”
        
    5、修复
        [root@localhost ~]# xfs_repair /dev/sdb1
        Phase 1 - find and verify superblock...
        bad primary superblock - bad magic number !!!	
    
    6、修复失败,无法挂载
        [root@localhost ~]# mount /dev/sdb1 /opt/
        mount:将/dev/sdb1 挂载到/opt 失败:结构需要清理

    7、强制修复
        [root@localhost ~]# xfs_repair -L /dev/sdb1
        [root@localhost ~]# mount /dev/sdb1 /opt/ #可以mount
    
#补充
	fp:如果是ext文件系统,修复需要用fsck命令
    fsck -f -y /dev/sda1
    -y :对所有问题都回答“yes”
    -f :即使文件系统标记为clean也强制进行检查

6、xfs文件系统备份与恢复

1、命令与软件包
    [root@localhost ~]# rpm -qf `which xfsdump`
    xfsdump-3.1.7-1.el7.x86_64
    
2、xfsdump的备份级别有以下两种,默认为0(即完全备份)
	0  完全备份
    1  增强备份
    
    (1)xfsdump常用参数
    	-L:xfsdump会记录每次备份的session label,这里可以填写针对此文件系统的简要说明
        -M:xfsdump可以记录存储media label,这里填写媒体的简要说明
        -l:小写,指定level,有0~9共10个等级,默认为0,即完整备份
        -f:后面新产生的文件和destination file。
        -I:大写,从/var/lib/xfsdump/inventory 列出目前备份的信息状态

    (2)xfsdump使用限制
    	1、必须用root权限
        2、只能备份已挂载的文件系统
        3、只能备份xfs文件系统
        4、只能用xfsrestore来恢复数据
        5、透过文件系统的uuid来分辨备份档,一次不能备份相同的uuid的文件系统
        
    (3)xfsdump备份与xfsrestore恢复
    	1、数据备份
        1.1先做全量备份,切记“备份的源路径”末尾不能太加/
        xfsdump -l 0 -L sdb3_bak -M sdb3_bak -f 全量备份的成果路径1  备份的源路径
        1.2再做增量备份
        xfsdump -l 1 -L sdb3_bak -M sdb3_bak -f  增量的成果路径2 备份的源路径
        
        2、数据恢复
        2.1先恢复全量备份
        xfsrestore -f 全量备份的成果路径1 数据恢复的路径
        2.2 再以次恢复增量
        xfsrestore -f 增量备份的成果路径2 数据恢复的路径
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 要扩展Linuxswap分区,可以按照以下步骤进行操作: 1. 确认当前系统中swap分区的情况,可以使用命令“swapon -s”查看。 2. 确认需要扩展的磁盘空间,可以使用命令“df -h”查看。 3. 关闭swap分区,可以使用命令“swapoff -a”关闭所有swap分区。 4. 使用fdisk或者parted等工具对需要扩展的磁盘进行分区。 5. 格式化新的swap分区,可以使用命令“mkswap /dev/sdX”(其中sdX为新分区的设备名)。 6. 启用新的swap分区,可以使用命令“swapon /dev/sdX”(其中sdX为新分区的设备名)。 7. 确认新的swap分区已经启用,可以使用命令“swapon -s”查看。 8. 修改/etc/fstab文件,将新的swap分区添加到开机自动挂载列表中,以便系统重启后自动启用新的swap分区。 以上就是扩展Linuxswap分区的步骤。需要注意的是,在进行分区操作时一定要小心,避免误操作导致数据丢失。 ### 回答2: Linux是一种成熟的操作系统,拥有广泛的用途,比如Web服务器,移动设备开发,桌面电脑等。但是,在Linux服务器运行时,会占用某些内存资源。当这些内存资源用尽时,您的服务器将无法为用户请求提供服务。为了解决这种情况,Linux提供了swap分区的概念。 swap分区Linux系统中的一种辅助性质量。它与操作系统的内存一起工作,扩展了可用内存。swap分区可以在磁盘驱动器的另一个分区中创建。如果您发现Linux服务器不能满足RAM(随机访问存储器)的需求,可以扩展swap分区。 扩展swap分区的第一步是检查您的系统是否有空闲的硬盘空间。您可以使用fdisk命令来查看您的硬盘分区。在fdisk命令中,您应该选择要查看的磁盘,然后使用"p"选项检查分区和可用空间。 然后,您需要使用mkswap命令来创建新的swap分区。该命令需要指定新swap分区的设备文件。您可以使用命令“cat /proc/swaps”来检查当前的swap分区。命令的输出应包括新的swap分区。 接下来,您需要将新的swap分区添加到swap设备列表中。这可以通过修改“/etc/fstab”文件来实现。您需要编辑此文件并添加一个新的条目,以将新的swap分区添加到swap设备列表中。要使更改生效,您需要重新启动服务器。 总之,扩展Linux服务器swap分区可以增加系统可用的内存。但是,使用swap分区的效率低于使用RAM,因此您应该尽量减少使用swap。在扩展swap分区之前,应注意服务器硬盘上是否有足够的空间,并且仔细核对配置文件的更改,以避免错误和意外的系统崩溃。 ### 回答3: Linux系统中的swap分区是一种虚拟内存,它作为扩展内存使用。当系统的物理内存不足以支持运行的所有应用程序时,系统会将不常用的内存页交换到swap分区中,从而释放出物理内存并使更多的应用程序能运行。 在Linux中,swap分区可以在安装系统时预先分配,也可以后期进行扩展。当系统开始运行时,可以使用命令“free -h”查看swap分区的使用情况和大小。 要扩展swap分区,需要遵循以下步骤: 1、使用“sudo swapoff -a”命令关闭所有的swap分区,以便进行扩展。 2、使用“sudo fdisk /dev/sda”命令(假设第一块硬盘为/dev/sda)打开硬盘分区工具,进入分区编辑模式。 3、对需要扩展的分区进行编辑操作,并将其扩展到所需的大小。 4、使用“sudo mkswap /dev/sda3”命令(假设分区名为/dev/sda3)将分区格式化swap分区。 5、使用“sudo swapon /dev/sda3”命令重新启用swap分区。 6、使用“sudo swapon -s”命令检查新的swap分区是否已经启用。 以上就是扩展linux swap分区的步骤,务必要小心操作,以免误操作导致不必要的损失。同时还要注意,过多使用swap分区可能会影响系统的性能,因此应该根据实际需要进行操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

I believe I can fly~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值