CentOS安装配置PHP的Memcache扩展

前面我们已经讲了怎么安装memcached对象缓存系统,光是安装了没有PHP的扩展支持,对咱们的WordPress仍然是没有任何加速作用,跟我一起来配置下PHP的Memcache扩展吧!

下载软件资源

php扩展memcache3.0.8下载地址:http://pecl.php.net/package/memcache

直接下最新版的,其实已经很久没更新了。

安装步骤

上传下载好的软件包到服务器,然后通过终端cd进入该目录。

解压压缩包

tar zxvf memcache-3.0.8.tgz

cd进入解压目录

这里有点重要,注意。找到你的PHP安装路径,确定bin目录下存在phpize文件。

用phpize生成configure配置文件,我的PHP就在/usr/local/php5.5.7/bin。

/usr/local/php5.5.7/bin/phpize

用php-config配置安装信息,注意你的php-config文件所在路径,我的在/usr/local/php5.5.7/bin/php-config

./configure -enable-memcache --with-php-config=/usr/local/php5.5.7/bin/php-config --with-zlib-dir

编译

make

安装

make install

请注意,如果你的PHP版本是7以上的,这里会安装出错,因为PHP7修改了一个文件名,这个扩展很久没更新了,没有兼容PHP7,所以这种方法安装不了。

安装成功会出现一个路径地址,我没有截图,这里用别人的图。

未分类

复制这个路径,修改php.ini文件。

修改extension_dir路径:

extension_dir = “上图生成的路径”

为PHP添加模块

extension=memcache.so

重启php-fpm,Apache直接重启Apache就好,NGINX还是都重启下吧。

在你的网站中放入一个PHP文件,里面写上

<?php
phpinfo();
?>

浏览器访问这个文件,使用Ctrl+F查找memcace,有则安装成功。

未分类

CentOS安装GoAccess快速方便的分析网站日志

GoAccess旨在成为一个基于终端的快速日志分析器,其核心思想是实时快速分析和查看Web服务器统计信息,GoAccess可分析Apache/Nginx等WEB日志,同时还支持生成HTML、JSON、CSV等数据报告。

未分类

安装GoAccess

GoAccess支持yum安装,直接执行命令yum -y install goaccess即可,不过为了拥有更大的灵活性,推荐使用下面的方法编译安装。

#安装依赖
yum -y install libmaxminddb-devel
#下载源码
wget https://tar.goaccess.io/goaccess-1.2.tar.gz
#解压
tar -xzvf goaccess-1.2.tar.gz
#进入目录
cd goaccess-1.2/
#编译安装
./configure --enable-utf8 --enable-geoip=mmdb --with-openssl --with-libmaxminddb-devel
make && make install

如果不出意外输入命令goaccess -V就可以看到对应的版本了。更多的编译参数可参考官方帮助文档:https://goaccess.io/download

未分类

运行GoAccess

最简单的做法就是直接运行goaccess 日志路径根据提示选择,如果您觉得终端的方式看起来不习惯,我们还可以生成静态的HTML报告,运行下面的命令即可:

goaccess xiaoz.me_nginx.log -a -o xxx.html --log-format=COMBINED
  • xiaoz.me_nginx.log:为日志文件具体路径
  • xxx.html:HTML报告的名字,可指定到站点目录,然后直接访问查看
  • –log-format=日志文件格式,COMBINED为标准格式

定时生成HTML报告到站点目录

每次都去手动生成报告太麻烦啦,有没有更简便的方法?写个简单的shell脚本自动生成就搞定啦,将下面的内容另存为goaccess.sh

#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
export PATH
goaccess xiaoz.me_nginx.log -a -o /xiaoz.me/$(date +%Y-%m-%d).html --log-format=COMBINED
  • xiaoz.me_nginx.log:日志文件路径(请填写绝对路径)
  • /xiaoz.me/:为您站点根目录,根据自身情况修改

别忘记加上可执行权限:chmod u+x goaccess.sh,再使用crontab每小时生成一次HTML报告。

#添加计划任务
crontab -e
#添加以下内容,/root/goaccess.sh为上面脚本的绝对路径
0 * * * * /root/goaccess.sh > /dev/null
#重载crontab
service crond reload

大功告成,这样goaccess每隔1小时为我们生成一次HTML日志报告,等待一段时间访问https://domain.com/当前日期.html(日期格式如2017-07-16)就可以看到直观的HTML报告啦。

未分类

总结

goaccess还支持更多的功能,比如同时分析多个日志文件、IP查询等功能,更多使用帮助可通过goaccess -h进行查看。在之前还分享过Windows下日志分析工具《360星图》也是很不错的,并且是中文显示,看起来更加友好。

CentOS Linux解决Device eth0 does not seem to be present异常

在VMware里克隆出来的CentOS Linux。。

ifconfig…没有看到eth0.。然后重启网卡又报下面错误。

故障现象:

Shutting down loopback insterface:                                                                                                     [  OK  ]
Bringing up loopback insterface:                                                                                                          [  OK  ]
Bringing up interface eth0:  Device eth0 does not seem to be present,delaying initialization.                    [FAILED]
undefined

未分类

如上图所示

解决办法:

首先,打开/etc/udev/rules.d/70-persistent-net.rules内容如下面例子所示:

# vi /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.
# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:8f:89:9
7", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:50:bd:1
7", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

记录下,eth1网卡的mac地址00:0c:29:50:bd:17

接下来,打开/etc/sysconfig/network-scripts/ifcfg-eth0

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

将 DEVICE=”eth0″ 改成 DEVICE=”eth1″ ,将 HWADDR=”00:0c:29:8f:89:97″ 改成上面的mac地址 HWADDR=”00:0c:29:50:bd:17″

最后,重启网络

# service network restart或者

# /etc/init.d/network restart

正常了。

CentOS 7 安装 Python 3.7

Python 3.7 稳定版已经发布,Python 3.7 具有很多新特性,新用户推荐使用 Python 3.7,本文介绍如何在 CentOS7 系统上安装 Python 3.7,因为 CentOS 7 系统自带的 Python 版本是 Python 2.7。

CentOS 的第三方软件源中(如:IUS,SCL,EPEL)还没有 Python 3.7 的 RPM 软件包,本文先只介绍使用源码方式安装 Python 3.7。

CentOS 7 使用源文件安装 Python 3.7

1)安装依赖包

因为使用源码方式在 CentOS 7 系统中安装 Python 3.7,所以必须安装 GCC 编译器和 make 编译工具,这些软件包包含在 “Development tools” 软件组中,可以直接安装 “Development tools” 软件组:

sudo yum groupinstall "Development tools"

因为 Python 3.7 源文件使用 zlib 格式打包,所以需要安装 zlib 软件包;Python 3.7 编译安装时需要使用 zlib 的头文件和链接库,所以需要安装 zlib 的头文件和链接库 zlib-devel 软件包:

sudo yum -y install zlib zlib-devel

Python 3 有个内置模块 ctypes,它是 Python 3 的外部函数库(Foreign function library),它需要使用系统外部函数库(libffi)的头文件和链接库,所以需要安装外部函数库(libffi)头文件和链接库 libffi-devel 软件包:

sudo yum -y install libffi-devel

2)运行如下命令配置、编译、安装 Python 3.7

wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
tar xJf Python-3.7.0.tar.xz
cd Python-3.7.0
sudo ./configure
sudo make
sudo make install

如果在编译安装时提示 zipimport.ZipImportError: can’t decompress data; zlib not available 错误,请查看关于 zlib 的解决方法。

如果在编译安装时提示 ModuleNotFoundError: No module named ‘_ctypes’ 错误,请查看关于 ctypes 的解决方法。

3)安装完成后,Python 3.7 安装在了/usr/local文件夹中,可运行文件/usr/local/bin,库文件/usr/local/lib。因为 /usr/local/bin 在 Shell 路径中,所以可以直接在 Shell 中输入如下命令 python3 运行 Python 3.7 解释器。

CentOS Docker 安装

Docker支持以下的CentOS版本:

CentOS 7 (64-bit)
CentOS 6.5 (64-bit) 或更高的版本

前提条件

目前,CentOS 仅发行版本中的内核支持 Docker。
Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。

使用 yum 安装(CentOS 7下)

Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
通过 uname -r 命令查看你当前的内核版本

[root@runoob ~]# uname -r 3.10.0-327.el7.x86_64

未分类

安装 Docker

Docker 软件包和依赖包已经包含在默认的 CentOS-Extras 软件源里,安装命令如下:

[root@runoob ~]# yum -y install docker-io

未分类

安装完成。

未分类

启动 Docker 后台服务

[root@runoob ~]# service docker start

未分类

测试运行 hello-world

[root@runoob ~]#docker run hello-world

未分类

由于本地没有hello-world这个镜像,所以会下载一个hello-world的镜像,并在容器内运行。

使用脚本安装 Docker

1、使用 sudo 或 root 权限登录 Centos。
2、确保 yum 包更新到最新。

$ sudo yum update

3、执行 Docker 安装脚本。

$ curl -fsSL https://get.docker.com/ | sh

执行这个脚本会添加 docker.repo 源并安装 Docker。

4、启动 Docker 进程。

$ sudo service docker start

5、验证 docker 是否安装成功并在容器中执行一个测试的镜像。

$ sudo docker run hello-world
docker ps

到此,docker 在 CentOS 系统的安装完成。

镜像加速

鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是网易的镜像地址:http://hub-mirror.c.163.com。

新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%dockerconfigdaemon.json(Windows) 来配置 Daemon。

请在该配置文件中加入(没有该文件的话,请先建一个):

{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]}

CentOS上PHP完全卸载

想把PHP卸载干净,直接用yum的remove命令是不行的,需要查看有多少rpm包,然后按照依赖顺序逐一卸载。

1. 首先查看机器上安装的所有php相关的rpm包

[root@localhost nginx]# rpm -qa | grep php

php-cli-5.3.3-22.el6.x86_64

php-pdo-5.3.3-22.el6.x86_64

php-gd-5.3.3-22.el6.x86_64

php-fpm-5.3.3-22.el6.x86_64

php-common-5.3.3-22.el6.x86_64

php-5.3.3-22.el6.x86_64

php-xml-5.3.3-22.el6.x86_64

php-pear-1.9.4-4.el6.noarch

2. 按依赖顺序进行删除

rpm -e php-fpm-5.3.3-22.el6.x86_64

rpm-e php-pdo-5.3.3-22.el6.x86_64

rpm -e php-pear-1.9.4-4.el6.noarch

rpm-e php-cli-5.3.3-22.el6.x86_64

rpm -e php-5.3.3-22.el6.x86_64

rpm-e php-xml-5.3.3-22.el6.x86_64

rpm -e php-gd-5.3.3-22.el6.x86_64

rpm-e php-common-5.3.3-22.el6.x86_64

CentOS下安装与配置JDK和Tomcat

下面以CentOS7环境,安装JDK8和Tomcat8为例,演示安装与配置过程。

一、下载JDK

从Oracle官网找到最新的JDK版本,当前最新版为Java SE Development Kit 8u92,复制下载链接,如下图所示:

未分类

shell> wget --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie;" http://download.oracle.com/otn-pub/java/jdk/8u92-b14/jdk-8u92-linux-x64.tar.gz

二、下载Tomcat

进入Tomcat官网,找到tomcat8的下载地址,如下图所示:

未分类

shell> wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.0.36/bin/apache-tomcat-8.0.36.tar.gz

三、解压JDK和Tomcat

shell> tar -zxvf jdk-8u92-linux-x64.tar.gz -C /opt
shell> tar -zxvf apache-tomcat-8.0.35.tar.gz -C /opt

未分类

四、配置JDK环境变量

vim /etc/profile.d/java.sh
# 在java.sh中加入如下内容:
JAVA_HOME=/opt/jdk1.8.0_92
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH

保存并退出,执行sources /etc/profile,使环境变量生效

五、启动tomcat

shell> /opt/apache-tomcat-8.0.35/bin/startup.sh

CentOS(linux) 下MySQL8.0.11的安装

系统
CentOS 7.4

安装软件
MySQL8.0.11

  • 下载MySQL yum源
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
  • 安装yum源
yum localinstall mysql80-community-release-el7-1.noarch.rpm
  • 更新yum源
yum clean all
yum makecache
  • 创建Mysql账户
groupadd mysql
useradd -g mysql mysql
  • 开始安装MySQL
yum install mysql-community-server
  • 启动MySQL
systemctl start mysqld
  • 查看初始化密码
cat /var/log/mysqld.log | grep password

未分类

  • 登录MySQL
mysql -u root -p
  • 修改初始化密码(密码一定要大小写字母+数字+符号,如:Aa-123456789)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'yourpassword';
  • 远程设置
use mysql;
update user set host='%' where user='root';
  • 允许任何主机访问数据库
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
FLUSH PRIVILEGES;
  • 允许myuser用户使用mypassword密码从任何主机连接到mysql服务器
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
  • 允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

CentOS安装新版git——超简单

忘了从哪里弄来的,CentOS6安装新版git的利器:

CentOS6:

#安装Git
yum install -y epel-release
rpm -ivh https://centos6.iuscommunity.org/ius-release.rpm
yum list git2u
yum install -y git2u
git --version

CentOS7:

[html] view plain copy
<code class="language-html">#安装Git  
yum install -y epel-release  
rpm -ivh https://centos7.iuscommunity.org/ius-release.rpm  
yum list git2u  
yum install -y git2u  
git --version  
</code>  

可以说是见到过的最简单的办法了

CentOS7模拟RAID10、LVM逻辑卷管理和磁盘配额

RAID10是RAID1+RAID0技术的一个“组合体”,RAID10技术需要至少4块硬盘来组建,其中先分别两两制作成RAID1磁盘阵列,以保证数据的安全性;然后再对两个RAID1磁盘阵列实施RAID0技术,进一步提高硬盘设备的读写速度。
当用户想要随着实际需求的变化调整硬盘分区大小时,会受到硬盘“灵活性”的限制,这时就需要用到另外一项非常普及的硬盘设备资源管理技术了,即LVM(逻辑卷管理器),LVM可以允许用户对硬盘资源进行动态调整。
废话不多说,下面我们就来模拟制作RAID10和LVM吧。

一、部署RAID10+备份盘

首先在虚拟机上添加5块新的虚拟硬盘,然后启动虚拟机。
未分类
使用fdisk -l命令,确认5块新硬盘是否都已被系统认到。
未分类
生产环境中用到的服务器一般都配备RAID阵列卡,而我们现在是用mdadm命令在Linux系统中创建和管理软件RAID磁盘阵列,它涉及的理论知识和操作过程与生产环境中的RAID阵列卡是一样的。

表1:mdadm命令的常用参数和作用
未分类

接下来,使用mdadm命令创建RAID10,名称为“/dev/md0”。
其中-C参数表示创建一个RAID阵列卡,-v显示创建过程,/dev/md0为创建的设备名称,-a yes表示自动创建设备文件,-n 4表示使用4块硬盘,-l 10表示RAID 10方案,-x 1表示有一块备份盘,最后跟上5块硬盘设备的名称。

mdadm -Cv /dev/md0 -a yes -n 4 -l 10 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf

未分类
查看/dev/md0磁盘阵列的详细信息

mdadm -D /dev/md0

未分类
创建2个分区,分别为/dev/md0p1和/dev/md0p2

fdisk /dev/md0

未分类

二、部署LVM逻辑卷

表2:常用的LVM命令

未分类

1、创建物理卷(PV)

pvcreate /dev/md0p1 /dev/md0p2

未分类
查看物理卷状态

pvdisplay

未分类

2、创建卷组(VG)

创建一个名为storage的卷组,并把上面的两个物理卷加入该卷组中。

vgcreate storage /dev/md0p1 /dev/md0p2

未分类
查看卷组状态

vgdisplay

未分类

3、创建逻辑卷(LV)

这里我们切割出两个逻辑卷,vo01和vo02,即/dev/storage/vo01和/dev/storage/vo02,大小分别为15G和10G。

lvcreate -n vo01 -L 15G storage
lvcreate -n vo02 -L 10G storage

未分类
查看逻辑卷状态

lvdisplay

未分类
把创建好的两个逻辑卷格式化成ext4。

mkfs.ext4 /dev/storage/vo01
mkfs.ext4 /dev/storage/vo02

未分类
未分类
创建两个目录,将逻辑卷挂载使用。

mkdir /data1
mkdir /data2
mount /dev/storage/vo01 /data1
mount /dev/storage/vo02 /data2

查看分区情况

df -h

未分类
写入到/etc/fstab里,开机自动挂载

echo "/dev/storage/vo01 /data1 ext4 defaults 0 0" >> /etc/fstab
echo "/dev/storage/vo02 /data2 ext4 defaults 0 0" >> /etc/fstab

未分类

4、调整逻辑卷大小,注:调整大小之前一定要先卸载,否则逻辑卷会出问题。

缩小逻辑卷容量步骤:1、卸载(umount),2、检查分区完整性(e2fsck),3、确认分区容量(resize2fs),4、减少分区容量(lvreduce)。
将/dev/storage/vo01减少5G

umount /dev/storage/vo01
umount /dev/storage/vo02
e2fsck -f /dev/storage/vo01
resize2fs /dev/storage/vo01 10G
lvreduce -L -5G /dev/storage/vo01

未分类
将/dev/storage/vo02增加10G
扩展逻辑卷容量步骤:1、卸载(umount),2、增加分区容量(lvextend),3、检查分区完整性(e2fsck),4、确认分区容量(resize2fs)。

lvextend -L +10G /dev/storage/vo02
e2fsck -f /dev/storage/vo02
resize2fs /dev/storage/vo02

未分类
重新挂载文件分区

mount /dev/storage/vo01 /data1
mount /dev/storage/vo02 /data2

5、扩展逻辑组容量

前面讲过如何调整逻辑卷容量,可是如果逻辑组的容量不够用了,该如何处理呢,现在我们就来往逻辑组里增加一块硬盘设备。
对于LVM来讲,不管设备是RAID、硬盘还是分区,它不会去管存储设备的底层架构和布局,即然如此,我们就添加一块硬盘来做测试。
首先关闭(shutdown)虚拟机,添加一块新的虚拟硬盘,然后启动虚拟机
未分类
确认新硬盘已经被系统识别

fdisk -l

未分类
加入新的物理卷(PV)

pvcreate /dev/sdg

未分类
把/dev/sdg加入到storage卷组中

vgextend storage /dev/sdg

未分类

6、制作逻辑卷快照

LVM还具备“快照卷”功能,该功能类似于虚拟机软件的快照功能。例如:可以对某一个逻辑卷设备做一次快照,如果日后发现数据被改错了,就可以利用之前做好的快照卷进行覆盖还原。LVM的快照卷功能有两个特点:
(1)快照卷的容量必须等同于逻辑卷的容量;
(2)快照卷仅一次有效,一旦执行还原操作后则会被立即自动删除。
首先往/dev/data1下写入一个文件

echo "xuad to bad" > /data1/xuad.txt

未分类
使用-s参数生成一个快照卷,使用-L参数指定要创建快照的逻辑卷大小,-n参数指定快照卷名称,最后跟上逻辑卷的完整路径。

lvcreate -L 10G -s -n LVdata1 /dev/storage/vo01

未分类
查看快照卷信息

lvdisplay

未分类
在/dev/data1下创建一个1G的垃圾文件,然后再查看快照卷的状态,发现存储空间占用量上升了。
注:由于创建的文件容量太大,dd命令执行的时间会比较久,请耐心等待。

dd if=/dev/zero of=/data1/files.txt count=1 bs=1G

未分类
未分类
通过快照卷对逻辑卷进行还原操作,记得先卸载掉逻辑卷与目录的挂载。

umount /data1
lvconvert --merge /dev/storage/LVdata1

注:由于逻辑卷容量比较大,所以lvconvert命令执行的时间比较久,请耐心等待。
未分类
还原后快照卷会被自动删除掉,而且刚才创建的1G垃圾文件也被清除了。将/dev/storage/vo01挂载,然后检查检查垃圾文件是否已被清除。

mount /dev/storage/vo01 /data1

未分类

三、模拟损坏磁盘阵列及修复

将/dev/sdb标记为已损坏,然后查看RAID磁盘阵列的状态,发现备用盘已经自动替换上去并开始同步数据了。

mdadm /dev/md0 -f /dev/sdb
mdadm -D /dev/md0

未分类
假设我们又新购买了一块硬盘/dev/sdb,现在将新硬盘加入到RAID10磁盘阵列中,首先移除/dev/sdb,然后卸载两个逻辑卷,再然后使用-a参数检测一下就行了,最后别忘记挂载逻辑卷。

mdadm /dev/md0 -r /dev/sdb

发现/dev/sdb设备已经成功移除。
未分类

umount /data1
umount /data2
mdadm /dev/md0 -a /dev/sdb
mdadm -D /dev/md0

此时/dev/sdb已成为备用盘
未分类

mount /dev/storage/vo01 /data1
mount /dev/storage/vo02 /data2

未分类

四、quota磁盘配额

root管理员可以通过磁盘容量配额服务来限制某个用户或某个用户组针对特定目录可以使用的最大容量和最大文件个数,一旦达到这个最大值就不再允许继续使用。可以使用quota命令进行磁盘容量配额管理,从而限制用户的可用容量和所能创建的最大文件个数。quota命令分为软限制和硬限制两个功能。
(1)软限制:当达到软限制时会提示用户,但仍允许用户在限定的额度内继续使用。
(2)硬限制:当达到硬限制时会提示用户,且强制终止用户的操作。
编辑/dev/fstab配置文件,使/data1目录支持quota磁盘配额技术,我们这里对用户进行配额,所以只需要添加usrquota参数即可,而grpquota参数是针对用户组的。

vim /etc/fstab

注:ext文件系统使用的是usrquota和grpquota参数,xfs文件系统使用的是uquota参数。
未分类
卸载/data1,再重新挂载,给/data1增加其他人的写权限。

umount /data1
mount -a
chmod -Rf o+w /data1

未分类
在/data1目录下生成quota配置文件

quotacheck -cugm /data1/
ll /data1/ | grep quota

未分类
启动磁盘配额

quotaon /data1/

设置对用户xuad的磁盘配额限制

edquota -u xuad

注:第一个soft是磁盘容量大小软限制,第一个hard是磁盘容量大小硬限制,单位是KB;第二个soft是文件数量软限制,第二个hard是文件数量硬限制。
设置使用磁盘容量的软限制和硬限制分别是3M和8M,设置文件数量的软限制和硬限制分别是3个和5个。
未分类
现在切换到xuad用户,然后创建一个5M和10M的文件,进行测试。

su - xuad
dd if=/dev/zero of=/data1/files bs=5M count=1

发现虽然给了警告,但文件依然可以正常创建。
未分类

dd if=/dev/zero of=/data1/files bs=10M count=1

发现报错了,写入失败,达到了quota的限制,文件大小只有8M。
未分类
现在删除files文件,再来创建几个正常的文件进行测试

rm -f /data1/files

用touch命令创建文件,发现在创建到第四个文件时给出了警告,在创建第六个文件时给出了报错,第六个文件无法创建。
未分类