我的服务器连接了两个 SATA 硬盘驱动器,如下所示:
[root@cl-185 /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 222G 166G 45G 79% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
[root@cl-185 /]# fdisk -l | grep Disk
Disk /dev/sda: 250.0 GB, 250000000000 bytes
Disk /dev/sdb: 2000.3 GB, 2000398934016 bytes
现在,作为一名 Linux 新手,我需要帮助解决两个问题:
1). 为什么使用 df -h 获取磁盘空间使用情况时只显示“sda1”,还需要做什么来检查“sdb”的统计信息?
2)。 我的 PHP 脚本需要保存大量的“缓存”文件,如何让脚本使用第二个磁盘来保存文件 - 我的意思是我应该在脚本中编辑什么路径(当前是“/var/www/html/tmp”)?
谢谢
答案1
您需要先将 sdb 挂载到挂载点,然后配置您的脚本以使用该挂载点内的路径。
即,如果您将 /dev/sdb1 挂载到“/var/storage”,则可以创建文件夹“/var/storage/cache”并将该路径用于您的 php 脚本。
简要来说:
$ mkdir /var/storage
$ mount /dev/sdb1 /var/storage
$ mkdir /var/storage/cache
不幸的是,这假设驱动器具有文件系统并在 fstab 中配置。有关设置全新磁盘的更多详细信息,您可能应该查找发行版安装文档中的相关部分,但其要点是:
使用 fdisk 在 sdb 上创建分区
在分区上创建文件系统(例如使用“mke2fs -j /dev/sdb1”)
编辑 /etc/fstab 并添加与分区和文件系统匹配的行,例如:“/dev/sdb1 /var/storage ext3 noatime 0 1”
答案2
缓存清单:
如果缓存文件的总大小小于可以节省的系统 RAM 量,则使用 /dev/shm 作为缓存目录。(/dev/shm 是一个很大的秘密,应该自动存在于您的系统中。)它将避免访问磁盘的额外延迟。可以通过在关机时备份并在启动时恢复来使其持久化,(最好在 httpd 之前和之后制作一个 init 脚本来运行)
如果总大小小于几十 GB,则使用 SSD。
如果仍然不够,则使用两个配置为 RAID0 条带集的 SSD。
如果文件存储量很大,才使用传统驱动器。
如果文件很有价值,则使用 RAID1 或 RAID10
如果您有大量小文件并且需要深层树来存储图像/缩略图,那么请使用 Reiser 文件系统,因为它最适合快速目录遍历和小文件。
mkfs -t reiserfs /dev/sdb1
(并使用 noatime 安装。)