如何让我的 PHP 脚本使用第二个硬盘?

如何让我的 PHP 脚本使用第二个硬盘?

我的服务器连接了两个 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 安装。)

相关内容