19、FreeNAS 诊断与 FreeBSD 命令行使用指南

FreeNAS 诊断与 FreeBSD 命令行使用指南

1. FreeNAS 诊断信息页面介绍

在 FreeNAS 的诊断部分,除了日志页面外,还有一个信息页面。日志页面主要关注 FreeNAS 服务器中各种系统服务的输出,而信息页面旨在提供关于 FreeNAS 服务器各个部分的状态和配置信息。要访问此页面,可进入“Diagnostics: Information”。页面顶部有许多选项卡,各选项卡含义如下:
| 选项卡 | 信息内容 |
| — | — |
| Disks | 检测到的硬盘列表,包括所有 ATA/IDE 磁盘、SATA 磁盘和 SCSI 磁盘。 |
| Disks (ATA) | 所有 ATA/IDE 磁盘的高级功能列表,包括 ATA 版本、磁盘几何形状、磁盘容量及其 S.M.A.R.T 功能。 |
| Partitions | 每个磁盘上的分区信息。 |
| S.M.A.R.T. | 所有检测到的磁盘的 SMART 功能列表。 |
| Space Used | 服务器磁盘空间使用情况的信息。列出每个文件系统的总大小、已使用空间、可用空间以及磁盘使用百分比。 |
| Mounts | 带有文件系统类型的挂载点列表。 |

2. 通用故障排除选项卡信息

通用故障排除部分也有一些选项卡,提供不同的信息:
| 选项卡 | 信息内容 |
| — | — |
| Software RAID | FreeNAS 服务器的软件 RAID 配置信息。分别列出每个 RAID 级别以及使用的磁盘数据。 |
| iSCSI Initiator | iSCSI 发起器的信息。 |
| MS Domain | 微软 Active Directory 信息。 |
| Swap | 当前配置的交换空间列表。 |
| FTP users | 当前连接的 FTP 用户列表。 |
| RSYNC Client | 列出每个配置的 RSYNC 客户端及其配置参数。最有用的信息是“Detected shares on this server section”,它显示 RSYNC 客户端可以连接到服务器并列出可用的 RSYNC 模块。 |
| Sockets | 活动的 Internet 连接(包括服务器)以及活动的 UNIX 域套接字列表。从此列表中,您可以查看哪些网络服务器正在运行以及是否有连接到该服务器的用户。 |

3. 更换 RAID 组中故障硬盘

RAID 的关键特性是当其中一个驱动器出现故障时,RAID 组仍能继续工作。当驱动器出现故障时,RAID 组会进入“DEGRADED”状态,即系统仍在运行,但其中一个驱动器已出现故障,需要尽快更换该驱动器。

3.1 检查 RAID 磁盘状态

要检查 RAID 磁盘的状态,可按以下步骤操作:
1. 进入“Disks: Software RAID”。
2. 点击 FreeNAS 服务器上的所有 RAID 类型,检查它们是否处于“COMPLETE”状态。如果某个 RAID 组处于“DEGRADED”状态,则需要更换磁盘。

3.2 确定并更换故障磁盘

首先要确定需要更换的磁盘,可按以下步骤操作:
1. 进入“Disk: Management”页面,检查每个磁盘的状态。如果磁盘正常,其状态应为“ONLINE”。
2. 找到故障磁盘后进行更换。一些磁盘控制器支持热插拔,即可以在系统运行时拔出磁盘并添加新磁盘,这通常是 SATA 控制器的功能,但并非所有情况都是如此。如果不确定,可关闭 FreeNAS 服务器,在服务器关闭状态下更换磁盘。

3.3 磁盘故障后重建 RAID 1 阵列

更换磁盘后,需要将系统恢复到正常运行水平,这涉及两个步骤,均在“Disks: Software RAID”页面的 RAID 1 选项卡的工具部分执行。

3.3.1 让服务器忘记已断开连接的设备
  1. 进入“Disks: Software RAID”并点击“RAID 1”选项卡。
  2. 点击“Tools”选项卡。
  3. 在“Volume Name”字段中选择降级阵列的名称,并选择“Command forget”。“Disk”字段在使用“forget”命令时不使用。
  4. 点击“Send Command!”,阵列将被告知忘记未连接的设备。
  5. 命令输出应显示“Done”。
3.3.2 将新磁盘插入阵列
  1. 仍在 RAID 1 阵列的“Tools”选项卡中,在“Volume Name”字段中选择降级阵列。
  2. 从“Disk”下拉框中选择新磁盘。
  3. 选择“insert”命令并点击“Send Command!”。
  4. 命令输出应显示“Done”。

此时阵列将开始重建,您可以在“Diagnostics: Information: Software RAID”页面检查重建进度(关注“Synchronized:”字段的完成百分比),当 RAID 重建完成后,“Disks: Software RAID: RAID1:”页面的“Manage RAID”选项卡将显示“COMPLETE”。

3.4 磁盘故障后重建 RAID 5 阵列

更换磁盘后,需要将其与 RAID 组中的其他磁盘同步,这只需在“Disks: Software RAID”页面的 RAID 5 选项卡的工具部分执行一个步骤:
1. 在“Volume Name”字段中选择降级阵列。
2. 从“Disk”下拉框中选择新磁盘。
3. 选择“insert”命令并点击“Send Command!”。
4. 命令输出应显示“Done”。

此时阵列将开始重建,同样可在“Diagnostics: Information: Software RAID”页面检查重建进度,当 RAID 重建完成后,“Disks: Software RAID: RAID 5:”页面的“Manage RAID”选项卡将显示“COMPLETE”。

4. 寻求更多帮助的途径

如果您遇到难题且无法解决问题,最佳的支持途径是在线 FreeNAS 帮助论坛。这些论坛位于 SourceForge.net 网站,您需要注册一个免费的 SourceForge.net 账户才能在论坛上发帖。要找到支持论坛,可访问 FreeNAS 网站(http://freenas.org),点击“Support”链接,然后进入“Help forum”。

5. FreeBSD 简介

FreeBSD 是 FreeNAS 服务器的基础。它是一种强大的操作系统,具有悠久的历史,可追溯到 20 世纪 70 年代末的原始 UNIX 操作系统。1993 年发布了 FreeBSD 1.0 版本,经过了 15 年多的发展,形成了一个稳定、健壮、设计良好且可扩展的操作系统,能与其他优秀操作系统相媲美。

FreeBSD 本质上是一个基于终端或控制台的操作系统,这意味着运行它不需要高端显卡、高分辨率显示器和光学鼠标。所有命令通过在键盘上输入并按回车键执行,这在 FreeBSD 用作服务器时非常重要,因为服务器通常没有强大的图形功能,甚至可能没有连接显示器。此外,FreeBSD 也可用作桌面操作系统,并配有完整的窗口桌面环境。

6. 首次使用 FreeBSD 命令

6.1 进入 FreeBSD 命令行

通过 FreeNAS 控制台菜单是进入 FreeBSD 命令行的最简单方法。当 FreeNAS 启动并运行后,前往 FreeNAS 机器,按回车键使启动画面消失,控制台菜单将出现。选择选项 6(Shell),然后按回车键。此时您将看到如下提示:

freenas:~#

6.2 使用 pwd 命令打印工作目录

在 FreeBSD 中,输入“pwd”并按回车键可打印当前工作目录:

freenas:~# pwd
/root

“pwd”即“Print Working Directory”,此命令会显示当前所在文件夹。在 FreeBSD 中,管理员用户为“root”,通过 FreeNAS 控制台连接到 FreeBSD 时,您将自动以“root”用户登录并拥有完全管理权限,“/root”文件夹是“root”用户的主目录。

6.3 考虑禁用控制台菜单

默认情况下,控制台可让您无限制地访问 FreeBSD 命令行并从一开始就拥有完全管理权限。如果您的 FreeNAS 服务器处于他人可访问控制台菜单的环境中,建议在 Web 界面的“System: Advanced”页面禁用控制台,以防止未经授权且可能危险的访问。禁用控制台菜单后,仍可通过 SSH 协议访问 FreeBSD 命令行。

6.4 使用 ls 命令列出目录内容

要查看当前文件夹的内容,可使用“ls”(列表)命令:

freenas:~# ls
.cshrc          .dialogrc       .history        .profile

默认情况下,“/root”文件夹中的内容不多。这里可以看到有 4 个文件,且它们都以点开头,这意味着它们是隐藏文件,但由于您是管理员,默认会显示隐藏文件。如果普通用户使用“ls”命令,则不会显示以点开头的文件。

若要获取文件的更多信息,如文件大小和读写权限,可使用“-l”(长格式)选项:

freenas:~# ls -l
total 8
-rw-r--r--  1 root  wheel  843 Apr 14 10:52 .cshrc
-rw-r--r--  1 root  wheel   57 Feb 22 21:16 .dialogrc
-rw-------  1 root  wheel  123 Apr  2 13:13 .history
-rw-r--r--  1 root  wheel  236 Feb 22 21:16 .profile

长格式显示了每个文件的更多信息,包括文件权限、链接数、所有者名称、组名称、文件字节大小、文件丢失或修改的日期和时间以及文件名。

文件权限字段可能看起来有点复杂,但稍加指导就很容易理解。该字段由 10 个标志组成,这些标志可以是字母(如“r”或“w”)或连字符(“-”),具体含义如下:
| 部分 | 标志数量 | 含义 |
| — | — | — |
| 文件类型 | 1 个标志 | “d”表示目录,“-”表示常规文件。 |
| 用户权限 | 3 个标志 | “r”、“w”和“x”分别表示用户可读、可写和可执行。 |
| 组权限 | 3 个标志 | “r”、“w”和“x”分别表示组内用户可读、可写和可执行。 |
| 其他用户权限 | 3 个标志 | “r”、“w”和“x”分别表示其他用户可读、可写和可执行。 |

例如,上述目录列表中的“.cshrc”文件:

-rw-r--r--  1 root  wheel  843 Apr 14 10:52 .cshrc

这表示它是一个常规文件(第一个标志为“-”),用户可读可写但不可执行(“rw-”),因为它不是程序文件,不可执行是正常的。组权限(“r–”)表示同一组(“wheel”)的用户可以读取该文件但不能写入,其他用户也是如此(“r–”)。

6.5 使用 cd 命令更改目录

“cd”(change directory)命令用于将当前工作目录更改为指定的目录。要更改到文件系统的最顶层,可输入:

freenas:~# cd /

此时可以看到文件系统顶层以下的所有文件夹,呈树状结构。输入“ls”命令查看:

freenas:/# ls
conf            etc             mnt             usr
bin             ftmp            root            var
boot            dev             lib             sbin
cf              entropy         libexec         tmp

要移动到另一个目录,只需输入“cd”后跟目录名称,例如:

freenas:/# cd /usr
freenas:/usr# ls
X11R6   bin     lib     libexec local   sbin    share

若要进入更深层次的目录,可继续使用“cd”命令:

freenas:/usr# cd bin
freenas:/usr/bin# pwd
/usr/bin

要返回上一级目录,可使用“..”:

freenas:/usr/bin# cd ..
freenas:/usr# pwd
/usr

您也可以在“cd”命令中指定完整路径直接进入深层文件夹,例如:

freenas:/# cd /usr/bin
freenas:/usr/bin# pwd
/usr/bin

6.6 使用 cp 和 chmod 命令复制文件并更改权限

要复制文件,可使用“cp”(copy)命令。例如,将“.cshrc”文件复制到“test”,可输入:

freenas:~# cp .cshrc test
freenas:~# ls
.cshrc          .dialogrc       .history        .profile        test

使用“ls”命令可查看文件已复制。要查看“test”文件的权限,可使用“ls -l”命令:

freenas:~# ls -l test
-rw-r--r--  1 root  wheel  843 Apr 14 12:06 test

若要更改文件权限,使只有用户具有读写权限,而其他用户(包括同一组的用户)都不能读取,可使用“chmod”(change file mode)命令。例如,将权限设置为 600:

freenas:~# chmod 600 test
freenas:~# ls -l test
-rw-------  1 root  wheel  843 Apr 14 12:06 test

“chmod”命令接受两个参数:第一个是一个 3 位数字,表示要设置的文件权限;第二个是要更改权限的文件或目录名称。每个数字分别代表用户、组或其他用户的文件权限,具体数字对应的权限如下:
| 文件权限数字 | 标志 | 含义 |
| — | — | — |
| 0 | — | 无任何权限,不可读、不可写、不可执行。 |
| 1 | –x | 可执行。 |
| 2 | -w- | 可写。 |
| 3 | -wx | 可执行且可写。 |
| 4 | r– | 可读。 |
| 5 | r-x | 可执行且可读。 |
| 6 | rw- | 可读且可写。 |
| 7 | rwx | 可执行、可读且可写。 |

因此,将文件权限设置为 600 表示用户可读可写,组和其他用户无任何权限(“rw-------”);640 表示用户可读可写,组内用户可读,其他用户无权限(“rw-r-----”);最开放的权限是 777,即用户、组和其他用户都具有读、写和执行权限(“rwxrwxrwx”)。

另外,“chmod”命令可使用“-R”标志对目录进行操作,会递归设置目录下所有文件和子文件夹的权限。

6.7 使用 Putty 通过 SSH 连接到 FreeBSD

若不使用控制台访问 FreeBSD 命令行,可通过 SSH 连接到 FreeNAS 服务器。SSH(Secure Shell)是一种网络协议,允许在两台计算机之间通过加密(安全)通道交换数据,常用于作为远程计算机的安全命令行界面,这意味着您可以从远程计算机访问 FreeNAS 服务器的命令行界面,而无需直接接触 FreeNAS 服务器的键盘和显示器。

默认情况下,SSH 访问是禁用的,要启用它,可按以下步骤操作:
1. 进入“Services: SSHD”。
2. 在配置数据表标题中勾选“Enable”以启用 SSH 守护进程(服务器)。
3. 点击“Save and Restart”启动 SSH 服务器。

FreeNAS 服务器上有两种类型的 SSH 用户:
- 普通用户:没有管理员权限。在“Access: Users”页面创建的每个用户,可启用“Full Shell access”,这样用户就可以通过 SSH 连接并使用服务器上的 FreeBSD 命令行。
- root 用户:默认情况下,root 用户不允许通过 SSH 登录。要允许 root 用户登录,可在“Services: SSHD”中勾选“Permit root login”,然后点击“Save and Restart”完成 SSH 服务器的启动。

root 用户密码与 Web 界面密码相同,默认密码为“freenas”。如果更改了 Web 界面密码,root 用户密码也会相应更改。

在 Linux 或 Apple OS X 系统上,可使用 SSH 命令行程序连接到 FreeNAS 服务器,例如:

ssh -l root 192.168.1.250

“-l”参数用于指定用户名,这里为“root”。

在 Windows 系统上,默认没有 SSH 实用程序,可使用免费的 PuTTY 工具。可从 http://www.chiark.greenend.org.uk/~sgtatham/putty/ 下载 PuTTY。下载完成后,双击可执行文件(PuTTY 无需安装,直接使用下载的文件)。主 PuTTY 窗口有很多选项,使用时只需在窗口上半部分的“Host Name”字段中输入 FreeNAS 服务器的 IP 地址,其他设置保持默认,然后点击“Open”。如果是第一次使用 PuTTY 连接到该 FreeNAS 服务器,系统会询问是否信任该机器,点击“Yes”。在“login as:”提示处输入“root”并按回车键,然后输入与 Web 界面相同的密码,之后您将看到熟悉的“freenas:~#”提示,此时就可以像从控制台菜单的 Shell 中一样访问 FreeBSD 了。

7. 总结与回顾

7.1 FreeNAS 诊断与故障排除

  • 诊断信息页面 :提供了关于 FreeNAS 服务器各部分状态和配置的详细信息,通过不同选项卡可查看磁盘、分区、RAID 等相关信息。
  • 通用故障排除 :涵盖了软件 RAID 配置、iSCSI 发起器、MS 域等多方面的信息,帮助排查各种可能的问题。
  • RAID 故障处理 :当 RAID 磁盘出现故障时,可按特定步骤检查状态、确定并更换故障磁盘,然后重建 RAID 阵列。

7.2 FreeBSD 命令行操作

  • 基本命令 :介绍了 pwd ls cd cp chmod 等基本命令的使用方法和功能,这些命令可帮助用户在 FreeBSD 系统中进行文件系统操作。
  • SSH 连接 :通过 SSH 协议可远程访问 FreeBSD 命令行,介绍了在不同系统上启用和使用 SSH 连接的具体步骤。

7.3 操作流程总结

下面通过 mermaid 流程图总结更换 RAID 组中故障硬盘并重建阵列的操作流程:

graph TD;
    A[检查 RAID 磁盘状态] --> B{是否处于 DEGRADED 状态};
    B -- 是 --> C[确定并更换故障磁盘];
    B -- 否 --> D[RAID 正常];
    C --> E{RAID 类型};
    E -- RAID 1 --> F[重建 RAID 1 阵列];
    E -- RAID 5 --> G[重建 RAID 5 阵列];
    F --> H[检查重建进度];
    G --> H;
    H --> I{是否完成};
    I -- 是 --> J[RAID 重建完成];
    I -- 否 --> H;

8. 实际应用建议

8.1 日常维护

  • 定期检查 RAID 磁盘状态,确保系统的稳定性和数据的安全性。
  • 备份重要数据,以防数据丢失。

8.2 安全设置

  • 考虑禁用控制台菜单,防止未经授权的访问。
  • 合理设置文件权限,保护敏感数据。

8.3 远程管理

  • 启用 SSH 服务,方便远程管理 FreeNAS 服务器。
  • 使用强密码,提高账户安全性。

9. 常见问题解答

9.1 RAID 重建时间

RAID 重建时间取决于多种因素,如磁盘容量、RAID 级别、系统负载等。一般来说,磁盘容量越大,重建时间越长。在重建过程中,建议尽量减少系统负载,以加快重建速度。

9.2 SSH 连接失败

如果 SSH 连接失败,可检查以下几点:
- SSH 服务是否已启用。
- 防火墙是否阻止了 SSH 端口(默认 22)。
- 输入的用户名和密码是否正确。

9.3 文件权限设置错误

如果不小心设置了错误的文件权限,可使用 chmod 命令恢复。例如,要将文件权限恢复为默认的 644,可使用以下命令:

freenas:~# chmod 644 test

10. 总结

通过本文的介绍,我们了解了 FreeNAS 服务器的诊断和故障排除方法,以及 FreeBSD 命令行的基本操作。掌握这些知识和技能,可帮助我们更好地管理和维护 FreeNAS 服务器,确保系统的稳定运行和数据的安全。在实际应用中,可根据具体需求和场景,灵活运用这些方法和技巧,提高工作效率和系统性能。

希望本文对您有所帮助,祝您在使用 FreeNAS 和 FreeBSD 过程中一切顺利!

以下是本文中涉及的操作步骤总结表格:
| 操作内容 | 操作步骤 |
| — | — |
| 检查 RAID 磁盘状态 | 1. 进入“Disks: Software RAID”;2. 点击所有 RAID 类型,检查是否处于“COMPLETE”状态。 |
| 确定并更换故障磁盘 | 1. 进入“Disk: Management”页面,检查磁盘状态;2. 找到故障磁盘后更换,不确定是否支持热插拔时,关闭服务器更换。 |
| 重建 RAID 1 阵列 | 1. 让服务器忘记已断开连接的设备:进入“Disks: Software RAID”,点击“RAID 1”选项卡,点击“Tools”选项卡,选择降级阵列名称,选择“Command forget”,点击“Send Command!”;2. 将新磁盘插入阵列:在“Tools”选项卡中选择降级阵列,选择新磁盘,选择“insert”命令并点击“Send Command!”。 |
| 重建 RAID 5 阵列 | 在“Disks: Software RAID”页面的 RAID 5 选项卡的工具部分,选择降级阵列,选择新磁盘,选择“insert”命令并点击“Send Command!”。 |
| 启用 SSH 服务 | 1. 进入“Services: SSHD”;2. 勾选“Enable”启用 SSH 守护进程;3. 点击“Save and Restart”启动 SSH 服务器。 |
| 允许 root 用户通过 SSH 登录 | 在“Services: SSHD”中勾选“Permit root login”,点击“Save and Restart”。 |
| 使用 Putty 通过 SSH 连接到 FreeBSD | 1. 下载并打开 Putty;2. 在“Host Name”字段输入 FreeNAS 服务器 IP 地址,点击“Open”;3. 首次连接时确认信任该机器;4. 输入“root”用户名和密码登录。 |

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值