《循序渐进Linux(第2版) 基础知识 服务器搭建 系统管理 性能调优 虚拟化与集群应用》——4.5 磁盘管理与维护...

    xiaoxiao2024-02-02  142

    本节书摘来自异步社区《循序渐进Linux(第2版) 基础知识 服务器搭建 系统管理 性能调优 虚拟化与集群应用》一书中的第4章,第4.5节,作者:高俊峰著,更多章节内容可以访问云栖社区“异步社区”公众号查看

    4.5 磁盘管理与维护

    4.5.1 df命令1.功能说明df命令用来检查Linux系统的磁盘空间占用情况。其格式如下。

    df [选项]df命令的选项及其说明如表4.34所示。2.举例1)查看当前系统磁盘分区情况,并显示文件系统类型,人性化输出。

    [root@web1 ~]# df -hT Filesystem  Type  Size Used Avail Use% Mounted on /dev/sda2   ext3   15G603M14G  5% / /dev/sda1   ext3   99M14M81M 14% /boot /dev/sda7   ext496G19G72G 21% /ixdba nonetmpfs  2.0G   0 2.0G  0% /dev/shm /dev/sda3   ext3  9.7G3.3G5.9G 36% /usr /dev/sda6   ext3  7.7G243M7.1G  4% /var /dev/sdf6  xfs951G77G875G  9% /webdata

    从上面的输出可以看出,每个文件系统分区的总大小、已经使用大小、剩余大小和占用的百分比等,还可以看出,上面的系统使用了ext3、ext4、tmpfs和xfs这4种类型的文件系统。

    关于文件系统的概念,后面章节有详细讲述。

    2)输出文件系统的inode信息。

    [root@web1 ~]# df -ihT Filesystem  Type  Inodes  IUsed  IFree IUse% Mounted on /dev/sda2   ext3   1.9M  8.8K  1.9M  1% / /dev/sda1   ext3    26K   38   26K  1% /boot /dev/sda7   ext413M   41K   13M  1% /ixdba nonetmpfs   496K    1  496K  1% /dev/shm /dev/sda3   ext3   1.3M  156K  1.1M  13% /usr /dev/sda6   ext3   1003K  3.3K  999K  1% /var /dev/sdf6   xfs30M2.4M28M  9% /webdata

    4.5.2 du命令1.功能说明du命令用来显示文件或目录所占用的磁盘空间情况。其格式如下。

    du [选项] 文件或目录du命令的选项及其说明如表4.35所示。

    2.举例1)要显示当前目录下所有文件的大小,使用以下命令。

    [root@localhost iso]# du -sh ./* 174M  ./RHEL4-U4-i386-AS-disc1.iso 631M  ./rhel-5-server-i386-disc1.iso 631M  ./rhel-5-server-i386-disc2.iso 631M  ./rhel-5-server-i386-disc3.iso 629M  ./rhel-5-server-i386-disc4.iso 224M  ./rhel-5-server-i386-disc5.iso 3.7G  ./rhel-5-server-i386-discDvD.iso

    2)要显示当前Linux系统/etc目录的总大小,使用以下命令。

    [root@localhost iso]#du –sh /etc 54M   /etc

    4.5.3 fsck命令1.功能说明fsck命令用来检查文件系统并尝试修复错误。其格式如下。

    fsck [选项] [-t <文件系统类型>] [设备名]fsck命令的选项及其说明如表4.36所示。“-t <文件系统类型>”是指定要检查的文件系统类型。

    注意 在执行fsck命令修复某个文件系统时,这个文件系统对应的磁盘分区一定要处于卸载状态,磁盘分区在挂载状态下进行修复是极为不安全的,数据可能遭到破坏,也有可能损坏磁盘。2.举例检查并尝试修复出问题的磁盘分区/dev/sda10,在执行修复时进行询问,让用户得以确认并决定处理方式,显示详细修复过程。

    [root@localhost /]# fsck -rV -t ext3 /dev/sda10 fsck 1.39 (29-May-2006) [/sbin/fsck.ext3 (1) -- /dev/sda10] fsck.ext3 -r /dev/sda10 e2fsck 1.39 (29-May-2006) /opt contains a file system with errors, check forced. Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Inode 6121 ref count is 2, should be 1. Fix<y>? yes Unattached inode 6122 Connect to /lost+found<y>? yes Inode 6122 ref count is 2, should be 1. Fix<y>? yes Pass 5: Checking group summary information Block bitmap differences: -(519--529) -9273 Fix<y>? yes ………… /opt: ***** FILE SYSTEM WAS MODIFIED ***** /opt: 19/128520 files (15.8% non-contiguous), 46034/514048 blocks

    从上面可以看出,fsck在修复文件系统的时候其实调用了/sbin/fsck.ext3命令。fsck修复经历了5个步骤的检查,中间如果发现需要修复的,就会提示用户是否修复,按y键进行修复,按其他任意键跳过修复。

    当fsck命令执行时,fsck如果发现存在没有文件系统依赖的文件或者目录,就会提示用户是否把它们找回来,因为这些没有文件系统依赖的文件或者目录对用户来说是看不到的,也就无法使用,一般是由文件系统内部结构损坏导致的。如果用户同意找回,也就是上面说的按y键,fsck命令就会把这些孤立的文件或者目录放到lost+found目录下,并用这些文件自己对应的i-node号来命名,以便用户查找自己丢失的文件。lost+found的字面意思就是丢失并找回的含义。

    因此当用户在利用fsck命令修复磁盘分区以后,如果发现分区中有文件丢失,就可以到对应的lost+found目录中去查找。由于此时通过文件名称已经无法分辨文件,因此可以利用file命令查看文件系统类型,进而判断哪个是需要的文件。

    4.5.4 sync命令功能说明sync命令用来强制把内存中的数据写回硬盘,以免数据的丢失。其格式如下。

    sync需要说明的是:在Linux系统中,修改过的操作会缓存到内存中,不会马上写入硬盘,等待适当的时候再从内存写入磁盘,这样可以提高系统读写效率。Linux下默认每隔3秒系统自动执行一次sync操作,系统正常关机时也会执行sync操作,保证所有操作全部从内存写入磁盘。如果非法关机,系统内存信息无法及时同步到硬盘,就会造成数据丢失或者文件损坏,由此可见,Linux系统中正常关机是非常重要的。

    4.5.5 eject命令1.功能说明eject命令用来退出抽取式设备,如光驱或者磁带。如果该设备已经挂载,则eject先将设备卸载,然后再退出设备。其格式如下。

    eject [选项] 设备名eject命令的选项及其说明如表4.37所示。

    2.举例1)要显示当前系统中软盘、光盘和磁带的相应设备文件路径,使用以下命令。

    [root@mylinux ~]# eject --noop floppy eject: device is '/dev/fd0' [root@mylinux ~]# eject -n cdrom eject: device is '/dev/hda' [root@mylinux ~]# eject -n st0 eject: device is '/dev/st0'

    2)要卸载Linux系统的/tmp分区,使用以下命令。

    [root@mylinux ~]#eject /tmp4.5.6 mount/umount命令1.功能说明挂载以及卸载指定的文件系统。在第3章我们曾经讲述过mount/umount命令,这里再深入讲述mount/umount的使用。

    mount [选项] [-L<标签>] [-o<选项>] [-t<文件系统类型>] [设备名] [挂载点] umount [挂载点]

    mount命令的选项及其说明如表4.38所示。1)-L<标签>:标签其实就是磁盘分区标识的别名,标签可以随便起名,这样便于记忆,在Linux下磁盘分区的设备名比较难记,利用标签代替设备名,简单易记。

    2)-o<选项>:指定加载文件系统时的选项,这些选项如下。

    async:以非同步的方式执行文件系统的输入、输出动作。atime:每次存取都更新inode的存取时间,默认设置,取消选项为noatime。auto:必须在/etc/fstab文件中指定此选项。指定-a选项时,会加载设置为auto的设备,取消选项为noauto。dev:可读文件系统上的字符或块设备,取消选项为nodev。exec:可执行二进制文件,取消选项为noexec。noatime:每次存取时不更新inode的存取时间。noauto:加入此选项,就无法使用-a选项来加载。nodev:不读文件系统上的字符或块设备。noexec:无法执行二进制文件。nosuid:关闭set-user-identifier(设置用户ID)与set-group-identifer(设置组ID)设置位。nouser:使用户无法执行加载操作,默认设置。iocharset=XXX:指定mount分区时使用的字符集。codepage=XXX:指定mount分区时使用的内码表。remount:重新加载设备。通常用于改变设备的设置状态。ro:以只读模式加载。rw:以可读写模式加载。suid:启动set-user-identifier(设置用户ID)与set-group-identifer(设置组ID)设置位,取消选项为nosuid。sync:以同步方式执行文件系统的输入、输出动作。user:可以让一般用户加载设备。defaults:使用默认选项。默认选项为rw、suid、dev、exec、anto、nouser与async。

    3)-t<文件系统类型>:指定设备的文件系统类型,常用选项如下。

    ext3/ext2:Linux目前的常用文件系统。msdos:MS-DOS的FAT。vfat:Windows 95/98的VFAT。nfs:网络文件系统。iso9660:CD-ROM光盘的标准文件系统。ntfs:Windows NT的文件系统。

    4)设备名:硬盘分区在Linux上的设备标识,类似于/dev/sda1、/dev/hda2等。

    5)挂载点:Linux系统下指定的某个目录。

    2.举例1)将光盘镜像文件挂载到Linux系统下。

    [root@localhost/]#mount-o loop -t iso9660 /iso/CentOS-7-x86_64-DVD-1503-01.iso /ixdba在Windows下访问ISO镜像文件需要虚拟光驱等第三方软件,而在Linux系统下光盘镜像文件可以直接通过挂载的方式实现读取。

    这里的“loop”选项表示把一个镜像文件当成硬盘分区挂接到系统,“-t”指定镜像文件的类型为iso9660,也就是光盘的标准文件系统。“/iso/CentOS-7-x86_64-DVD-1503-01.iso”表示镜像文件的路径,而“/ixdba”表示挂载点,挂载成功后就可以通过/ixdba目录访问镜像文件的内容了。

    2)Windows+Linux双系统并存环境,将Windows下的D盘挂载到Linux下的/mnt/d目录下,并且支持中文,使用以下命令。

    [root@localhost/]#mount -t vfat -ocodepage=936,iocharset=cp936 /dev/hda3 /mnt/d上面的命令中,“-t vfat”选项表示需要挂载的D盘是FAT格式的文件系统;“-o”后面的选项指定了分区挂载后支持中文显示;“/dev/hda3”是Windows下的D盘在Linux下的硬件标识;“/mnt/d”是Linux系统上指定的挂载点,挂载成功就可以通过访问Linux下的/mnt/d目录来访问Windows下的D盘内容了。

    3)在一台Linux系统上以只读方式挂载另一台Linux系统上共享的分区,也就是我们以后要深入讲述的网络文件系统(network filesystem,NFS),使用以下命令。

    [root@localhost/]#mount-t nfs -o ro192.168.60.133:/home/ixdba /mnt/nfs上面的命令中,“-t nfs”指定挂载的文件系统类型是nfs;“-o ro”指定以只读方式挂载;“192.168.60.133:/home/ixdba”表示将IP地址为“192.168.60.133”的另外一台Linux系统中的/home/ixdba目录共享;“/mnt/nfs”指定在本机Linux系统上的挂载点。

    相关资源:Oracle Database 11g数据库管理艺术--详细书签版
    最新回复(0)