在FreeBSD / TrueOS上调整ZFS存储池的大小

在Vultr上升级VPS实例时,将自动调整Linux文件系统的大小。当使用高级ZFS文件系统运行FreeBSD时,需要一些手动工作。本指南假定我们的帐户刚刚升级为包括更多存储空间,并逐步完成了调整ZFS卷大小的步骤。在这个例子中,我们假设安装了以ZFS作为根文件系统的FreeBSD或TrueOS。本教程应适用于类似的操作系统,例如FreeNAS。

首先,我们将了解硬盘驱动器的大小和布局。从这里开始,我们将假设我们的硬盘驱动器是设备“ vtbd0”,这是FreeBSD安装中的第一个硬盘驱动器。为了发现vtbd0的大小和布局,我们使用以下gpart命令。

gpart show

我们将看到一行指示驱动器的大小及其状态。在调整驱动器大小之后,我们在第一行末尾看到的状态为“损坏”。此状态行之后,将有三行告诉我们驱动器上有哪些分区,正在使用哪些文件系统以及每个分区的大小。第一个分区可能是“ BIOS引导”分区,第二个分区是我们的ZFS卷,第三个分区通常是交换空间。在本示例中,我们将采用这种布局。每个分区分配有一个索引号。在这种情况下,BIOS引导分区的索引号为“ 1”,ZFS卷的索引号为“ 2”,而对于交换的索引号为“ 3”。您的布局和索引号可能会有所不同。

我们需要做的下一件事是恢复驱动器的布局,以使其不再显示为“损坏”。运行以下命令:

gpart recover vtbd0

我们应该立即看到一条消息,指出“ vtbd0已恢复”。gpart show再次运行,仔细检查驱动器状态。下一步是处理交换分区。如果交换分区位于驱动器上的ZFS池之后,则可能会妨碍ZFS容量的增长。我们将离线进行交换,并通过运行以下命令删除交换分区:

swapoff -a
gpart delete -i 3 vtbd0

这些命令关闭交换空间并删除分区“ 3”(交换分区)。确保在运行gpart show之前先运行,gpart delete以确保要删除正确的分区。

下一步是调整ZFS分区的大小。我们可以在这里采用两种方法之一。如果我们决定根本不需要交换空间,那么可以通过运行以下命令来接管驱动器上的所有可用空间,并将其分配给ZFS分区:

gpart resize -i 2 vtbd0

另外,如果我们想继续使用交换空间,那么我们可以稍微修改一下resize命令。让我们假设ZFS分区当前为10GB,我们希望将其大小调整为20GB。我们将执行:

gpart resize -i 2 -s 20g vtbd0

“ -s 20g”参数告诉g​​part将第二个分区的大小调整为20GB。我们可以通过运行确认此操作已成功完成gpart show。该gpart show命令还将向我们显示驱动器末端有多少空间可用于新的交换分区。

此时,检查ZFS存储池的大小仍将显示先前的大小。

zpool list

要告诉文件系统扩展并接管驱动器的整个第二分区,请执行以下操作:

zpool online -e tank vtbd0p2

上面的命令调整了名为“ tank”的ZFS存储池的大小,并接管了硬盘驱动器的整个第二分区。该行末尾的“ p2”表示我们正在使用第二个分区,如果驱动器的布局不同,则“ p”后的数字将需要与ZFS分区索引匹配。请记住,您可以使用显示分区索引gpart show

至此,我们快完成了。如果不需要交换空间,则说明安装完成。运行zpool list以确认存储池是正确的,更大的大小。

否则,您在驱动器的末尾留有空间用于交换分区。我们可以通过运行一些命令来重新添加交换空间。首先,我们创建一个新的交换空间:

gpart add -t freebsd-swap -s 1g -i 3 vtbd0

此命令创建一个大小为1GB的交换分区。新的分区将添加到我们的硬盘驱动器中,并赋予索引号“ 3”。我们的下一步是启用交换空间,以便我们的操作系统可以使用新分区。

swapon /dev/vtbd0p3

再次,在行尾的“ p3”表示我们的交换分区已分配给索引“ 3”。如果我们使用了不同的索引,则应更改该数字以在生成的输出中反映掉交换索引号gpart show。我们可以通过运行以下命令来确认交换空间已启用并可以正常工作:

swapctl -l -h

这将显示正在使用1GB的交换空间。

最后,请注意。删除/重新添加交换空间会更改交换分区的标签。这意味着文件中的交换条目/etc/fstab将不再被视为有效。因此,在操作系统重新引导后将不会启用交换空间。为避免此问题,请打开/etc/fstab文件并找到安装交换空间的行。确保该行的开头列出了我们刚刚创建的分区/dev/vtbd0p3,作为交换设备。


Tags: #BSD

Leave a Comment

使用OpenBSD在Vultr上配置BGP

使用OpenBSD在Vultr上配置BGP

Vultrs BGP功能使您可以拥有自己的IP空间并在我们的任何位置使用它,而OpenBSD实例则不需要其他软件!

如何在FreeBSD 12上使用Pkg软件包管理器

如何在FreeBSD 12上使用Pkg软件包管理器

简介FreeBSD是一种类似于Unix的开源操作系统,用于为现代服务器,台式机和嵌入式平台提供动力。Netflix,雅虎等巨人!

FreeBSD的Vultr块存储

FreeBSD的Vultr块存储

本文中的信息涉及修改磁盘,分区和文件系统,因此在执行任何示例之前,应先完全理解它们,因为它们会导致数据丢失或丢失。

如何在FreeBSD 11 FAMP VPS上安装Omeka Classic 2.4 CMS

如何在FreeBSD 11 FAMP VPS上安装Omeka Classic 2.4 CMS

使用其他系统?Omeka Classic 2.4 CMS是一个免费的开源数字发布平台和用于共享数字内容的内容管理系统(CMS)

如何在Debian,CentOS和FreeBSD上使用Sudo

如何在Debian,CentOS和FreeBSD上使用Sudo

在Linux和Unix系统管理员中,使用sudo用户访问服务器并在root级执行命令是一种非常普遍的做法。使用泡沫

如何在FreeBSD 12上安装osTicket

如何在FreeBSD 12上安装osTicket

使用其他系统?osTicket是一个开放源代码的客户支持票务系统。osTicket源代码公开托管在Github上。在本教程中

如何在FreeBSD 12上安装Dolibarr

如何在FreeBSD 12上安装Dolibarr

使用其他系统?Dolibarr是面向企业的开源企业资源计划(ERP)和客户关系管理(CRM)。多利巴尔

在OpenBSD 6上设置Ghost Professional发布平台

在OpenBSD 6上设置Ghost Professional发布平台

Ghost是与WordPress竞争的最新,最大的暴发户。主题开发既快速又容易学习,因为Ghost开发人员决定同时使用

如何在FreeBSD 12上安装Monica

如何在FreeBSD 12上安装Monica

使用其他系统?Monica是一个开源的个人关系管理系统。可以将其视为CRM(销售团队使用的一种流行工具

如何在FreeBSD 11 FAMP VPS上安装Couch CMS 2.0

如何在FreeBSD 11 FAMP VPS上安装Couch CMS 2.0

使用其他系统?Couch CMS是一个简单,灵活,免费和开源的内容管理系统(CMS),可让Web设计人员进行设计

如何在FreeBSD 12上安装LimeSurvey CE

如何在FreeBSD 12上安装LimeSurvey CE

使用其他系统?LimeSurvey是一个用PHP编写的开源调查软件。LimeSurvey源代码托管在GitHub上。本指南将向您展示

如何在FreeBSD 12的Nginx中启用TLS 1.3

如何在FreeBSD 12的Nginx中启用TLS 1.3

使用其他系统?TLS 1.3是传输层安全性(TLS)协议的版本,该协议于2018年作为RFC 8446中的建议标准发布

如何在FreeBSD 12上安装MyBB

如何在FreeBSD 12上安装MyBB

使用其他系统?MyBB是一个免费,开放源代码,直观且可扩展的论坛程序。MyBB源代码托管在GitHub上。本指南将

使用Prosody和FreeBSD设置XMPP服务器

使用Prosody和FreeBSD设置XMPP服务器

尽管ejabberd非常普遍,但最近有一个竞争对手-Prosody。本教程将向您展示如何在FreeBS上设置Prosody

用Poudriere建立自己的Pkg存储库

用Poudriere建立自己的Pkg存储库

从9.2版开始,FreeBSD引入了一个新工具来替换旧的pkg _ *-命令-pkg,也称为pkgng。它非常类似于Debians apt o

如何在FreeBSD 11上安装Matomo Analytics

如何在FreeBSD 11上安装Matomo Analytics

使用其他系统?Matomo(以前称为Piwik)是一个开源分析平台,是Google Analytics(分析)的一种开放替代方案。Matomo源托管o

如何在FreeBSD 11 FAMP VPS上安装ProcessWire CMS 3.0

如何在FreeBSD 11 FAMP VPS上安装ProcessWire CMS 3.0

使用其他系统?ProcessWire CMS 3.0是一个简单,灵活,功能强大,免费和开源的内容管理系统(CMS)。ProcessWire CMS 3。

如何在FreeBSD 12的Apache中启用TLS 1.3

如何在FreeBSD 12的Apache中启用TLS 1.3

使用其他系统?TLS 1.3是传输层安全性(TLS)协议的版本,该协议于2018年作为RFC 8446中的建议标准发布

如何在FreeBSD 11 FAMP VPS上安装Redaxscript 3.2 CMS

如何在FreeBSD 11 FAMP VPS上安装Redaxscript 3.2 CMS

使用其他系统?Redaxscript 3.2 CMS是一款现代,超轻量级,免费和开源的内容管理系统(CMS),具有火箭fas

如何在FreeBSD 12上安装BookStack

如何在FreeBSD 12上安装BookStack

使用其他系统?简介BookStack是一个简单的,自托管的易于使用的平台,用于组织和存储信息。BookStack已满

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息