如何使用块存储增加 Nextcloud 实例上的空间

概述
在之前的文章中,我向您展示了如何构建您自己的 Nextcloud 服务器。在本文中,我们将通过使用块存储来扩展我们的 Nextcloud 实例的存储空间。要继续学习,您需要拥有自己的 Nextcloud 服务器来扩展,或者您可以将块存储添加到您可能控制的不同类型的服务器,这意味着您需要根据我们的步骤更新路径。块存储非常有用,所以我们肯定要好好利用它。
让我们开始吧!
设置块存储卷
首先,使用 SSH 登录到您的 Nextcloud 实例
ssh <IP or domain name>
如果我们执行 df -h
,我们可以看到当前已连接的存储卷列表
df -h
块存储的好处之一是,您可以拥有一个较小的实例(但仍然拥有更大的磁盘)。现在,除非您提前操作,否则我们还没有连接块存储卷,所以在 Linode 控制面板中创建一个。
您可以通过点击控制面板中的“Volumes”(卷)来完成此操作,然后您可以开始创建过程。填写创建块存储设备的每个字段。但请特别注意区域 - 您需要将其设置为与您的 Linode 实例所在的区域相同。
创建卷后,您应该会看到一些示例命令,这些命令为您提供了设置卷所需的一切。第一个命令,我们将用于格式化卷的命令,我们可以直接复制并粘贴该命令到命令 shell 中。例如,它可能看起来类似于这样
sudo mkfs.ext4 "/dev/disk/by-id/scsi-0Linode_Volume_nextcloud-data"
当然,这只是一个示例命令,最好使用 Linode 控制面板提供的命令,所以如果您想复制和粘贴 - 请使用控制面板中提供的命令。
此时,卷将被格式化,但我们需要挂载它才能开始使用它。控制面板中提供的第二个命令将最终创建一个目录,用于挂载卷
sudo mkdir "/mnt/nextcloud-data"
第三个命令将实际将新卷挂载到您的文件系统。请务必使用控制面板中的命令,下面的命令仅作为通常样子的示例
sudo mount "/dev/disk/by-id/scsi-0Linode_Volume_nextcloud-data"
接下来,检查 df
命令的输出,并确保新卷在输出中列出
df -h
接下来,让我们确保为新卷更新 /etc/fstab
,以确保每次服务器启动时都会自动挂载它
sudo nano /etc/fstab
在控制面板中,将显示为新卷添加的正确行,因此您可以简单地将该行复制并粘贴到 /etc/fstab
文件中。
使用 Nextcloud 设置块存储
现在我们有了一个新的块存储卷,但 Nextcloud 还不会使用它。因此,我们将要做的是设置新卷以成为 Nextcloud 数据的存储卷。
首先,cd
进入您服务器上的 Nextcloud 应用程序目录。此路径会因安装而异,但在之前的文章/视频中,我们使用了以下目录(至少在我的情况下是这样)
/var/www/nextc.oud.learnlinux.cloud
请注意,在该目录中,有一个名为 data
的子目录。您可能在该 data
目录中拥有一些文件/目录。继续使用 cd
进入 data
目录,然后将其内容移动到块存储设备
mv * /mnt/nextcloud-data/
现在我们已经将当前数据目录的内容移动到新的块存储卷,我们可以告诉 Nextcloud 使用该卷来存储其数据。在 config 目录中,您应该有一行配置对应于数据目录
'datadirectory' => '/var/www/nextcloud.learnlinux.cloud',
在单引号内更新路径部分,将其更改为我们设置的新挂载数据卷的路径
'datadirectory' => '/mnt/nextcloud-data',
仔细检查之前的数据目录,看看那里是否有任何隐藏文件。如果有,请确保也移动这些文件,如果之前的命令没有执行此操作
mv .htaccess .ocdata /mnt/nextcloud-data
为了安全起见,请确保 data
文件夹的权限(在所有权方面)应用于新的存储卷
sudo chown www-data:www-data -R /mnt/nextcloud-data
结束语
虽然这不是必需的,但最好重启服务器 - 特别是确保所有到旧路径的打开链接都已断开连接。一旦服务器重新启动,您应该能够验证 Nextcloud 正在使用新的块存储设备。如果是这样,那么您就全部设置好了!
您可以在这里观看教程