Linux 磁盘管理实践

问题描述

研一的小伙伴向我反应实验室的 Confluence 知识管理系统上传不了附件,经过排查发现是磁盘空间不足了,使用 df 命令查看磁盘使用量如下图:

实验室的文件服务器有三块硬盘,分别为 250GB、1TB、1TB,对应的设备文件名分别为 /dev/sda1/dev/sda2/dev/sda3,但图中看到只有两块硬盘的信息,是因为第二块磁盘作为物理的 RAID1 备份第三块磁盘。

现在文件系统的挂载信息如下:

磁盘分区 设备名 大小 可利用率 挂载点
Disk1 Partition1 /dev/sda1 194MB 62% /boot
Disk1 Partition2 /dev/sda2 40GB 100% /
Disk1 Partition4 /dev/sda4 104GB 31% /var/ftp/cluster
Disk3 Partition1 /dev/sdc1 917GB 2% /home

通过下面的 du 命令可以看到 Confluence 的工作目录 /var/atlassian 已占用 22GB:

[root@archlab-server2 /]# du -sh /var/atlassian/
22G     /var/atlassian/

当时搭建服务器的时候磁盘规划不合理,才导致现在磁盘空间不足的现象。那现在补救的方法只能是重新划分磁盘分区,初步计划是完成下面两步:

  • 减小磁盘3上分区1的大小,在磁盘3上增加一个新的分区;
  • 将新增分区挂载到 /var/atlassian 目录下,将以前该目录在磁盘1上的文件拷贝到新分区并释放以前分区空间。

减小分区大小

首先减小 Disk3 的第一个分区的大小,由于该分区已经挂载到 /home 目录下,因此先要卸载该分区(在卸载之前做备份,将该目录全部拷贝到另一个分区上),使用命令 umount 卸载:

[[email protected] /]# umount /dev/sdc1
umount: /home: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))

提示设备忙的信息,原因是由于 /home 目录正在被某个进程使用,可以使用 fuser 命令来终止使用该目录的所有进程:

[root@archlab-server2 /]# fuser -km /home
/home:                2639m

再完成卸载即可。现在可以调整该分区的大小,有两种方法:一种是使用命令行命令来操作,另一种是使用图形化的软件 GParted。其实图形化软件也是调用 Linux 的命令来实现的,这里为了简便我就安装了 GParted,使用该软件完成调整分区的大小(该软件操作很简单,就不多说),如下图:

/dev/sdc1 调整到近 420GB。

新增分区

接下来在未分配的 500 多GB 上再分出一个分区(200GB),也可以使用 GParted 来分配,这里我使用命令 fdisk 来完成:

[[email protected] /]# fdisk /dev/sdc

WARNING: DOS-compatible mode is deprecated. It‘s strongly recommended to
         switch off the mode (command ‘c‘) and change display units to
         sectors (command ‘u‘).

Command (m for help): p

Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x358b358b

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1   *           1       54721   439544800+   7  HPFS/NTFS
Partition 1 does not start on physical sector boundary.

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (54721-121601, default 54721):
Using default value 54721
Last cylinder, +cylinders or +size{K,M,G} (54721-121601, default 121601): +200G

Expert command (m for help): w
The partition table has been altered!

使用指令 m 可以列出所有指令的含义,指令 p 打印出该磁盘的所有分区信息,n 创建分区,输入新建分区的信息(如分区类型、分区起始结束位置等),这里为新增分区分配了 200GB 的空间,完成之后输入 w 才执行实际的操作,更改分区表。

格式化分区

分区完成后要进行文件系统的格式化,使用命令 mkfs 指定格式化文件系统的类型:

[root@archlab-server2 /]# mkfs -t ext4 /dev/sdc2

挂载分区

新增并格式化一个分区之后,就到最后一步,将该分区挂载到 /var/atlassian 目录下,操作步骤如下:

  1. /dev/sdc3 挂载到一个临时的目录,如 /home/tmp
  2. /var/atlassian 目录下所有文件剪切到 /home/tmp 下,即为 /dev/sda2 释放空间
  3. /dev/sdc3/home/tmp 目录下卸载
  4. 最后将 /dev/sdc3 挂载到 /var/atlassian

由于都是使用 mountumount 两个命令来完成,就不写出命令过程了。

那么通过上述几步即完成了 /var/atlassian 目录下的数据由以前存放在 磁盘1分区2 到 新增的磁盘3分区2 上的转移,

最后我们用块设备查看命令 lsblk 查看系统块设备信息:

[root@archlab-server2 /]# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 149.1G  0 disk
├─sda1   8:1    0   200M  0 part /boot
├─sda2   8:2    0    40G  0 part /
├─sda3   8:3    0     4G  0 part [SWAP]
└─sda4   8:4    0 104.9G  0 part /var/ftp/cluster
sdb      8:16   0 931.5G  0 disk
├─sdb1   8:17   0 931.5G  0 part
sdc      8:32   0 931.5G  0 disk
├─sdc1   8:33   0 419.2G  0 part /home
└─sdc2   8:34   0 331.5G  0 part /var/atlassian

总结

  • 熟练掌握几个磁盘管理的命令 —— df / du / fdisk / mkfs / mount / umount
  • 理解磁盘分区、文件系统、挂载点的概念
时间: 2024-10-09 22:01:17

Linux 磁盘管理实践的相关文章

linux磁盘管理之LVM逻辑卷认识与管理详解(实验详细,可跟做)

Linux磁盘管理之LVM逻辑卷认识与管理详解 前言 本文接着上篇文章作如下延伸:链接:Linux磁盘管理之磁盘管理与文件系统 什么是LVM?为什么需要LVM? 如何具体进行LVM逻辑卷管理? 什么是磁盘配额?为什么需要磁盘配额? 在Linux中进行磁盘配额的条件是什么呢? 如何具体进行磁盘配额? 下面对以上问题逐一讲解,深入实例进行操作,带你深入理解linux磁盘管理之LVM逻辑卷管理. 一.LVM概述 1.什么是LVM?为什么需要LVM? ? 许多 Linux 使用者安装操作系统时都会遇到这

linux 磁盘管理

linux磁盘管理 I/O Port: I/O 设备地址 块设备:block, 存取单位"块",磁盘 字符设备:char, 存取单位"字符", 键盘 设备文件:关联至一个设备驱动程序,使能够与之对应的硬件设备进行通信 设备号:主设备号   次设备号 设备文件只有源数据(属性),没有数据,都是特殊类型的文件,目录也是 /dev/dev_file都在这儿 硬盘的接口类型: 并行(慢于串口): IDE   133MB/S(接口速率) SCSI  640MB/S 串口: S

第十一章 linux磁盘管理(1)

Linux磁盘管理 涉及到的命令如下: fdisk -l              查看当前磁盘使用情况 fdisk /dev/sdb        划分分区 mkfs.ext4 /dev/sdb1   给分区格式化 mkdir /data           创建挂载目录 mount /dev/sdb1 /data 将新划分的分区挂载到/data目录 vi /etc/fstab         将挂载信息卸载配置文件里,开机启动挂载信息 /dev/sdb1 /data  ext4 defaul

Linux磁盘管理高级

Linux磁盘管理高级 LVM Btrsh LVM 逻辑卷管理(LVM)指系统将物理卷管理抽象成一个逻辑卷,包括重新设定文件系统的大小,LVM可以弹性的更改LVM的容量,通过交换PE来进行资料的转换,将原来LV内的PE转移到其他的设备中以降低LV的容量,或将其他设备中的PE加到LV中以加大容量. LVM还有快照的功能,快照区与原本的LV共用很多PE的区块,因此快照区与被快照的LV必须要要在同一个VG上!系统恢复的时候的文件数量不能高于快照区的实际容量. LVM的基本原理可用下图表示: LVM: 

分析Linux磁盘管理与文件系统专题三

1.前言 紧接着我的上一篇博客进行磁盘管理操作: http://zhangfengzhe.blog.51cto.com/8855103/1430531 我们已经对磁盘进行了分区,信息如下: [[email protected] ~]# fdisk -l /dev/sdb Disk /dev/sdb: 1073 MB, 1073741824 bytes 255 heads, 63 sectors/track, 130 cylinders Units = cylinders of 16065 * 5

分析Linux磁盘管理与文件系统专题二

1.关于设备文件 A 我们知道常见的设备文件有:字符设备文件(character),块设备文件(block). B 块设备,简写b,随机访问,比如硬盘. C 字符设备,简写c,线性访问,比如键盘,鼠标,显示器. D 我们的设备文件常常在/dev目录下,并且没有大小.因为设备文件只是作为设备访问   的入口. E 设备文件,一般用major(主设备号),minor(次设备号)进行标示.主设备号标示设备类型,次设备号标示同一种类型设备下的不同设备. 2.创建设备文件实例 [[email protec

深入剖析linux磁盘管理

一.linux中常见的磁盘: 无论什么操作系统,归根还是要落实与磁盘上的,对于磁盘的管理也是linux管理必备的一项技能.在linux中"一切皆文件"的思想贯彻整个linux的学习中,包括像是磁盘等的硬件也是在linux的/dev/目录下类似于文件形式的存放,常见的SATA口USB优盘或是SCSI口的硬盘在linux中是以/dev/sd[a-p]开头的文件,早期的IDE硬盘现在已经很少见了,这种硬盘在linux中是以/dev/hd[a-d],CDROM是以/dev/cdrom开头的文件

Linux磁盘管理:LVM逻辑卷创建及使用

Linux磁盘管理:LVM逻辑卷创建及使用    一.创建LVM逻辑卷    通过图文并茂的方式来看看如何创建我们的LVM ,首先是要将我们的物理硬盘格式化成PV,然后将多个PV加入到创建好的VG中,最后通过VG创建我们的LV.所以我们第一步就是将我们的物理硬盘格式化成PV(物理卷) ①将物理硬盘格式化成PV(物理卷) 使用的是 pvcreate 命令 这里我已经事先虚拟化了3快物理硬盘,每块硬盘的大小为8G,通过 fdisk -l 命令可以查看 [[email protected] ~]# f

【转载】Linux磁盘管理:LVM逻辑卷管理

Linux学习之CentOS(二十五)--Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理 这篇随笔将详细讲解Linux磁盘管理机制中的LVM逻辑卷的基本概念以及LVM的工作原理!!! 一.传统的磁盘管理 其实在Linux操作系统中,我们的磁盘管理机制和windows上的差不多,绝大多数都是使用MBR(Master Boot Recorder)都是通过先对一个硬盘进行分区,然后再将该分区进行文件系统的格式化,在Linux系统中如果要使用该分区就将其挂载上去即可,windows的话其实底