操作系统解决多样Linux硬盘难题的本事

作者:操作系统

不可能在Linux恐怕类UNIX系统的硬盘上写入数据?想消除服务器上磁盘损坏的难题呢?想知道你干吗连年在显示器上看到“磁盘已满”的字眼吗?想学学管理这个难点的点子吗?试试一下那8个缓慢解决Linux及UNIX服务器硬盘难点的小贴士吧。

/ 根目录,建议在根目录上面唯有目录,不要直接有文件。

 

 

#4 - 小编的硬盘驱动器宕了呢?

日记文件中的输入/输出错误(举个例子/var/log/messages)表明硬盘出了部分主题素材同期大概已经失效,你能够用smartctl命令来查看硬盘的一无所长,那是四个在类UNIX系统下决定和监督硬盘状态的二个发令。语法如下:

  1. smartctl -a /dev/DEVICE
  2. # 在Linux服务器下检查 /dev/sda
  3. smartctl -a /dev/sda

你也足以用"Disk Utility"这一个软件来获得一样的音信。

操作系统 1

图 01: Gnome磁盘工具(Applications > System Tools > Disk Utility)

注意: 不要对S.M.A.福睿斯.T.工具期望太高,它在少数场景下不能够工作,我们要定时做备份。

越多详细情形见请继续阅读下一页的美丽内容: http://www.linuxidc.com/Linux/2014-12/110060p2.htm

操作系统 2

swap 调换空间,约等于Windows上的虚拟内部存款和储蓄器。

summary:

  • 翻开硬盘消息:几块硬盘,品牌,体积
  • 查阅分区音信

#3 - Am I running out of inodes?

临时,df命令能展现出磁盘有空闲的上空可是系统却宣称文件系统已经写满了。此时您须要用于下命令来检查能在文件系统中分辨文件及其个性的索引节点:

  1. $ df -i
  2. $ df -i /ftpusers/

有的输出内容:

  1. FilesystemInodesIUsedIFreeIUse%Mounted on
  2. /dev/sda8 62504961156862389281%/ftpusers

如上 /ftpusers 下有一同62,50,496KB大小的索引节点可是唯有11,568KB被利用。你能够在 /ftpusers 地方下其它创造62,38,928KB大小的文本。假诺你的索引节点百分百被采纳了,试试看之下的选项:

  • 搜索不想要的公文并剔除它,只怕把它移动到别的服务器上。
  • 搜索不想要的大文件并剔除它,或然把它移动到其余服务器上。

(LCTT 译注:如若贰个分区存款和储蓄了太多的小文件,会产出 inode 用完而存款和储蓄扇区还会有空闲的景况,这种景象下照旧清除小文件或在无需独自访问的意况下将它们打包成一个大文件;要么将数据保存好今后再一次分区,并设置分区的 -t news 属性,扩充 inode 分配)

附Linux各分区功效,大家能够参考一下:

2. lsblk

lsblk  lists  information  about all or the specified block devices. 

机器1:

[root@bo sysbench]# lsblk 
NAME                     MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                        8:0    0   931G  0 disk 
├─sda1                     8:1    0   500M  0 part /boot
└─sda2                     8:2    0 930.5G  0 part 
  ├─vg_bo-lv_root (dm-0) 253:0    0    50G  0 lvm  /
  ├─vg_bo-lv_swap (dm-1) 253:1    0  15.7G  0 lvm  [SWAP]
  └─vg_bo-lv_home (dm-2) 253:2    0 864.8G  0 lvm  /home
sr0                       11:0    1  1024M  0 rom  

 机器2:

[root@wellav ~]# lsblk
NAME                         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                            8:0    0  10.9T  0 disk 
├─sda1                         8:1    0   500M  0 part /boot
└─sda2                         8:2    0  10.9T  0 part 
  ├─vg_wellav-lv_root (dm-0) 253:0    0    50G  0 lvm  /
  ├─vg_wellav-lv_swap (dm-1) 253:1    0  31.5G  0 lvm  [SWAP]
  ├─vg_wellav-lv_var (dm-2)  253:2    0   200G  0 lvm  /var
  ├─vg_wellav-lv_home (dm-3) 253:3    0  10.3T  0 lvm  /home
  ├─vg_wellav-lv_tmp (dm-4)  253:4    0   200G  0 lvm  /tmp
  └─vg_wellav-lv_usr (dm-5)  253:5    0   200G  0 lvm  /usr
sr0                           11:0    1  1024M  0 rom 

 

其中type列:disk, part, lvm, rom; 确定了sda为硬盘,下分为2个分区sda1( boot分区), sda2(系统分区);sda2下分为多个虚拟分区(lvm),挂载到不同目录。
关于磁盘分区,卷组,逻辑卷组,物理扩展,参见参考3

 

操作系统 3

/lib
/usr/lib
/usr/local/lib 系统利用的函数库的目录。

3. smartctl -a /dev/sda

查阅硬盘商家等新闻,此工具必要单独安装;**

 

[root@qa ~]# smartctl -a /dev/sda
smartctl 5.43 2012-06-30 r3573 [x86_64-linux-2.6.32-642.6.2.el6.x86_64] (local build)
Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net

Vendor:               DELL
Product:              PERC H710
Revision:             3.13
User Capacity:        9,999,220,736,000 bytes [9.99 TB]
Logical block size:   512 bytes
Logical Unit id:      0x6c81f660cd7589001d5afbf60f03b0c8
Serial number:        00c8b0030ff6fb5a1d008975cd60f681
Device type:          disk
Local Time is:        Wed Nov 23 11:28:58 2016 UTC
Device does not support SMART

Error Counter logging not supported
Device does not support Self Test logging

 

*
*dell品牌,型号 PERC H710, 容量:9.99TB;

 

修复磁盘写满的主题素材

1.用gzip,bzip2或tar命令压缩未压缩的日志和任何文件:

  1. gzip /ftpusers/tmp/*.log
  2. bzip2 /ftpusers/tmp/large.file.name

2.在类UNIX系统中用rm命令删除不想要的文本:

  1. rm -rf /ftpusers/tmp/*.bmp

3.用rsync命令移动文件至别的系统或外置硬盘:

  1. rsync --remove-source-files -azv /ftpusers/tmp/*.mov /mnt/usbdisk/
  2. rsync --remove-source-files -azv /ftpusers/tmp/*.mov server2:/path/to/dest/dir/

4.在类UNIX系统中寻找最占磁盘空间的目录或文件:

  1. du -a /ftpusers/tmp | sort -n -r | head -n 10
  2. du -cks *| sort -rn | head

5.清空内定文件。那招对日记文件很得力:

  1. truncate -s 0/ftpusers/ftp.upload.log
  2. ### bash/sh等 ##
  3. >/ftpusers/ftp.upload.log
  4. ## perl ##
  5. perl -e'truncate "filename", LENGTH'

6.在Linux和UNIX中找寻并删除显示着但现已被删去的大文件:

  1. ## 基于Linux/Unix/OSX/BSD等系统 ##
  2. lsof -nP | grep '(deleted)'
  3.  
  4. ## 只基于Linux ##
  5. find /proc/*/fd -ls | grep '(deleted)'

清空它:

  1. ## 基于Linux/Unix/OSX/BSD等富有系统 ##
  2. >"/path/to/the/deleted/file.name"
  3. ## 只基于Linux ##
  4. >"/proc/PID-HERE/fd/FD-HERE"

/lost found 该目录在超越六分之三情况下都以空的,但当实然停电恐怕非符合规律关机后,有个别公文不时存入在此。

常用命令:

 

  1. ### df (display fileSystem)

 

   df displays the amount of disk space available on the file system containing each file name argument.  出示磁盘使用空间

机器1:

[root@bo ~]# df -h
Filesystem                 Size  Used Avail Use% Mounted on
/dev/mapper/vg_bo-lv_root   50G   12G   36G  24% /
tmpfs                       16G     0   16G   0% /dev/shm
/dev/sda1                  485M   33M  427M   8% /boot
/dev/mapper/vg_bo-lv_home  852G  231G  578G  29% /home

  /  根目录下有50G

  tmpfs 占用16G (此目录效能?)

  /boot 485M 已用33M 可用427M 

  /home 852G 已用231G 可用578G

机器2:

[root@wellav ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_wellav-lv_root
                       50G   16G   32G  34% /
tmpfs                  32G     0   32G   0% /dev/shm
/dev/sda1             485M   32M  429M   7% /boot
/dev/mapper/vg_wellav-lv_home
                       11T  864G  8.8T   9% /home
/dev/mapper/vg_wellav-lv_tmp
                      197G  191M  187G   1% /tmp
/dev/mapper/vg_wellav-lv_usr
                      197G  1.3G  186G   1% /usr
/dev/mapper/vg_wellav-lv_var
                      197G  1.6G  186G   1% /var

通过机器1,2臆想:FileSystem 为文件系统,万分与分区。1块硬盘可做三个分区(好比windows系统的C,D,E盘符)。/dev/sda1 是系统指导盘,系统有1块硬盘总容积大概12T。

/dev/mapper/vg_~ 是分区,机器2,把硬盘分了多少个分区:

/dev/mapper/vg_wellav-lv_root

/dev/mapper/vg_wellav-lv_home

/dev/mapper/vg_wellav-lv_tmp

/dev/mapper/vg_wellav-lv_usr

/dev/mapper/vg_wellav-lv_var

#2 - 文件系统是只读形式呢?

当你品尝新建或保存一个文书时,你或者最后赢得诸如以下的一无所长:

  1. $ cat > file
  2. -bash: file:Read-only file system

运转mount命令来查看被挂载的文件系统是不是处在只读状态:

  1. $ mount
  2. $ mount | grep '/ftpusers'

在基于Linux的系统中要修复这一个主题材料,只需将那么些地处只读状态的文件系统重新挂载即可:

  1. # mount -o remount,rw /ftpusers/tmp

(LCTT 译注:假诺硬盘由于硬件故障而 fallback 到只读格局,建议不要强制变回读写情势,而是连忙替换硬盘)

除此以外,笔者是如此用rw情势重新挂载FreeBSD 9.x服务器的根目录的:

  1. # mount -o rw /dev/ad0s1a /

/proc 此目录新闻是在内部存款和储蓄器中由系统活动产生的,存款和储蓄了有的脚下的经过ID号和CPU、内部存款和储蓄器的映射等,因为那几个目录下的数额都在内部存款和储蓄器中,所以自个儿不占任何硬盘空 间。

参谋资料:

Linux下查看磁盘分区命令详解: 

Linux工夫-怎么着查看系统音讯-硬盘、分区音讯以及磁盘用量: 

lvm介绍(物理卷/卷组/逻辑卷/物理扩展): 

 

#1 - 错误: 设备上无剩余空间

当你的类UNIX系统磁盘写满了时您会在显示器上收看如此的音信。本例中,笔者运转fallocate命令接下来笔者的种类就能够唤起磁盘空间已经耗尽:

  1. $ fallocate -l 1G test4.img
  2. fallocate: test4.img: fallocate failed:No space left on device

首先步是运转df命令来查看多个有分区的文件系统的总磁盘空间和可用空间的新闻:

  1. $ df

也许试试可读性比较强的出口格式:

  1. $ df -h

一些输出内容:

  1. 操作系统,FilesystemSizeUsedAvailUse%Mounted on
  2. /dev/sda6 117G54G57G49%/
  3. udev 993M4.0K993M1%/dev
  4. tmpfs 201M264K200M1%/run
  5. none 5.0M05.0M0%/run/lock
  6. none 1002M01002M0%/run/shm
  7. /dev/sda1 1.8G115M1.6G7%/boot
  8. /dev/sda7 4.7G145M4.4G4%/tmp
  9. /dev/sda9 9.4G628M8.3G7%/var
  10. /dev/sda8 94G579M89G1%/ftpusers
  11. /dev/sda10 4.0G4.0G0100%/ftpusers/tmp

应用df命令输出能够领略地窥见,在 /dev/sda10 分区下一共4.0Gb的空中被整个写满了。

/sbin
/usr/sbin
/usr/local/sbin 存放一些系统管理员才会用到的实施命令。

df 查看文件系统磁盘空间的应用景况
df [选项].[FILE]...

操作系统 4

来得格式为:

一般的话,Linux至少要有四个分区,分别是/和swap,但这种分法不太科学,一旦重装系统,硬盘中的数据就很难保留了,所以提议把/usr和 /home分出来,以下是本身80G硬盘1G内部存款和储蓄器的分区方案:

/dev/hda1 981M 21M 911M 3% /boot

/boot 包涵了操作系统的基本和在起步系统经过中所要用到的文本,建那么些分区是有须要的,因为最近超过十分之五的PC机要遭到BIOS的界定, 况且一旦有了二个独自的/boot运转分区,固然首要的根分区现身了难点,Computer仍能够运行。这些分区的轻重缓急约在60MB—120MB之间。

HD硬盘接口的第二个硬盘(b),第叁个分区(2),体积是75G,用了75G,可用是0,由此利用率是百分百, 被挂载到根分区目录上(/)

本文由ca88发布,转载请注明来源

关键词: ca88网址 ca888亚洲城游戏