我已经设置了 USB 密钥来多重引导不同的 Linux 映像。我不介意添加 FreeNAS,并且有一个包含示例的文档可以添加到grub.cfg
menuentry "FreeNAS-8.0.4-RELEASE-x64" {
insmod ufs2
insmod iso9660
# /usr/local/sbin/grub-probe -d /dev/sde1 -t fs_uuid
# c89c-7b3a
#search --no-floppy --fs-uuid --set c89c-7b3a
set isofile="/boot/FreeNAS-8.0.4-RELEASE-x64.iso"
loopback loop $isofile
kfreebsd (loop)/boot/kernel/kernel.gz
kfreebsd_loadenv (loop)/boot/device.hints
#set FreeBSD.vfs.root.mountfrom=ufs:/dev/ad4s1a
set kFreeBSD.vfs.root.mountfrom=ufs:/dev/acd0
set kFreeBSD.vfs.root.mountfrom.options=rw
#set vfs.root.mountfrom=cd9660:/dev/ad1s1
#set vfs.root.mountfrom.options=rw
}
Run Code Online (Sandbox Code Playgroud)
我对设置 vfs 根目录有点不确定,这是尝试启动它的结果;
可以在以下位置找到一些有用的信息; 从 grub2 U 盘启动 FreeBSD iso
我有一个本地 FreeNAS 系统,想使用 ZFS 快照进行备份。
FreeNAS 有内置的复制任务,它使用
zfs send snapshot_name
Run Code Online (Sandbox Code Playgroud)
将快照发送到远程系统。但这需要另一端带有 ZFS 的系统。
我想将快照发送到一个文件并将这个压缩和加密的文件发送到远程机器。
这是可能的
zfs send snapshot_name | gzip | openssl enc -aes-256-cbc -a -salt > file.gz.ssl
Run Code Online (Sandbox Code Playgroud)
每天我都会制作存储池的快照并将每个快照保留 30 天。
每次拍摄快照后,我都会将此快照通过管道传输到文件中。
- 快照文件 1 中包含所有文件(假设为 2GB)
- 快照文件 2 仅包含对快照文件 1 的更改(假设为 5MB)
- 快照文件 3 包含对快照文件 2 的更改;等等。
在第 31 天,snapshot_file 1 被删除(因为我只想要过去 30 天的更改)
因此,snapshot_file 2 需要保存每个文件(2GB 的 snapshot_file 1 + 5MB 更改)
但是使用这种方法每天(从第 31 天开始)必须创建一个新的 2GB 文件并将其发送到远程系统。这开销太大了。
使用管道传输到文件的快照作为具有 X 天历史记录的备份策略的最佳方法是什么?
PS:我知道有很多备份软件(例如 rdiff-backup),我可以使用它们。但我很好奇如何做到这一点。
我希望构建一个中型(6TB,迷你 ITX 板)服务器供个人使用。最重要的是,它将充当种子箱并存储大量数据。我将定期通过我的家庭网络访问数据。
我环顾四周以决定使用哪个操作系统并落在了 FreeNAS 上。它看起来很酷,但我想知道它是否能够完成常规服务器发行版可以做的所有事情(包管理器、轻松更新、Web 服务器等)。
FreeNAS 真的只适用于实际的 NAS 设置而不适用于服务器吗?(如果您还包括 FreeBSD 作为可能的服务器操作系统,则可以获得额外奖励)。
我正在将 1TB 的 FreeNAS 服务器复制到 USB 外部驱动器,我正在使用“cp”进行操作,复制完成后,我想将原始文件中的文件与副本文件进行比较。
这可能吗?
我正在为 FreeNAS 系统进行基于 rsync 的备份。
备份过程的一部分涉及登录用作备份存储的远程系统。每当我这样做时,我都会收到消息
Could not create directory '/root/.ssh'.
Run Code Online (Sandbox Code Playgroud)
我假设这是因为它/root
是只读的,因为当我尝试~/.ssh
手动创建时,我收到:
mkdir: /root/.ssh: Read-only file system
Run Code Online (Sandbox Code Playgroud)
因此,我已经移动了known_hosts
更适合我的备份过程的文件,并-o UserKnownHostsFile
用于解决与此相关的任何问题。
但是,当我调用它时ssh
仍然尝试创建~/.ssh
文件夹。我怎样才能让它不尝试创建文件夹?
我正在设置一个基于FreeNAS的新服务器,这是一个基于 FreeBSD 的操作系统。系统有一个组,wheel
. 我有一个模糊的想法,系统管理员应该添加到组中wheel
,并且该组赋予使用su
(超级用户)的能力。但是,我在任何地方都找不到这个记录。
组的目的是什么wheel
?在什么情况下我应该将我的用户添加到其中?另请引用 FreeBSD 文档来解释这一点。
我已经在 VirtualBox VM 上安装了 FreeNAS 9.2amd64(基于相同的 FreeBSD 版本)。我为我的数据创建了用户和池/卷。
为了安装 apache/mysql-server/php5/php-myadmin FreeBSD 软件包,我从 freenas.org 站点阅读了以下文档:
所以我创建了一个 pluginjail 来安装包。我知道 FreeNAS 包是由 pkgng 管理的,它的工作原理与 pkg_add/pkg_info/pkg_delete 等几乎相同......
然后我从该监狱外壳启动了以下命令(不要介意软件包版本):
$ pkg install mysql-server
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
Updating repository catalogue
pkg: PACKAGESITE/digests.txz: No address record
pkg: No digest falling back on legacy catalog format
pkg: PACKAGESITE/repo.txz: No address record
Run Code Online (Sandbox Code Playgroud)
如果我去PACKAGESITE
,我可以找到digests.txz
和repo.txz
文件。
有没有人有想法?
尝试为插件sickbeard / couchpotato 设置权限。
我已经阅读了几乎所有谷歌/论坛的主题,但还没有真正找到解决方案。
我假设它是这里的数据:(监狱名称)/usr/pbi/xxxxxxxxxx
我试过:
chown -R guest:guest /usr/pbi/sickbeard-amd64/*
chown -R guest:guest /usr/pbi/couchpotato-amd64/*
Run Code Online (Sandbox Code Playgroud)
但我无法让它工作。
或者我必须要chmod 777
文件夹?
正如问题所说。
假设我想为我的 FreeNAS 池设置一个相当于脚本化“紧急按钮”的东西 - 我可以单击该按钮从 GUI 运行或在控制台/SSH 中执行,这会很快关闭可能正在读取或写入的所有内容,卸载文件系统,并且 - 理想情况下 - 静默其正在使用的磁盘或分区。
我不关心通过这样做而引起的其他软件或远程连接的错误,或者过早中止任何长文件传输,我只是希望它以最快的方式使池脱机,这与保持其一致性并可能给它一些任何挂起的写入完成并且池处于数据一致状态的秒数。
ZFS 命令建议的选项看起来并不乐观:zpool offline
仅适用于单个设备,因此如果在一次删除一个磁盘的情况下进行写入,则可能会出现竞争状况;zpool export
如果使用,则需要 -f 选项,并带有-f
可能丢失数据的警告。人们可以file descriptors
使用池或其设备(数千个或数十万个?)检查所有打开的情况,并手动强制关闭每个设备,但这可能会遇到竞争条件,因为它不会阻止同时创建新的文件描述符。我也不应该假设所有 ZFS 活动都是由要发送退出信号的远程文件服务守护进程列表来调节的,因为某些文件活动可能是本地的(cron/CLI/分离会话)。
因此,看看如何最好地安全、快速地使整个池脱机,它看起来可能umount
是我最好的选择 - 它在文件系统级别工作,并且可以快速地脱机整个文件系统并作为一个整体单元,之后zpool export
看起来它会然后能够以安全的方式实际完成并停止任何内部活动,而无需-f
选择,使数据本身保持在保证一致的状态。如果正在进行原始磁盘活动(重新同步或清理),那么我想当池稍后恢复在线时,这将恢复或重新启动。
但 Even 似乎并umount
没有完全做到这一点,因为也可能有 iSCSIzvol
目标正在使用。由于服务器不知道其结构,这些数据本质上无法保持一致,因此远程发起者在重新连接时必须尽最大努力进行数据修复。我对此表示同意,但我不确定是否需要某种命令来强制终止或使目标脱机,或者是否需要最佳实践。(注意:强制终止连接与关闭单个 fd 具有相同的问题。)
我知道,如果在写入时池突然退出 RW 状态,必然会出现某种数据丢失或问题。但只要它不失去一致性(在 ZFS 池和文件系统级别),那就没问题 - 任何正在更新的正在使用的文件/iSCSI 目标都必须在文件/块处于 ZFS 一致的情况下抓住机会但由于写入数据中途离线而导致数据无效状态。这是不可避免的,也不是这个问题的问题。
那么,我实际上需要执行哪些步骤,在保证池安全性和一致性的情况下尽快脱机正在使用的池 - 并且手动设置正在umount
使用的 ZFS 文件系统(作为解决方案的一部分)是安全的或是否存在数据损坏的风险?
更新:在这里提及以防其他人发现这有用。接受的答案指出export -f
zvols(iSCSI 等)可能存在问题。基于这个提示,我发现 FreeNAS 使用的 iSCSI 处理程序可以强制注销/终止会话,并且还有其他可以提前发出的有用子命令 …
我已经在我尝试自己托管的新服务器上安装了一个 freenas 服务器。然后我在 3*5TB 硬盘上创建了一个卷 (ZFS)。最后,我以 root 身份通过 ssh 登录并尝试pkg upgrade
所有软件包。这行不通:
[root@kfreenas] ~# pkg update
Updating local repository catalogue...
pkg: file:///usr/ports/packages/meta.txz: No such file or directory
repository local has no meta file, using default settings
pkg: file:///usr/ports/packages/packagesite.txz: No such file or directory
Unable to update repository local
[root@kfreenas] ~# pkg upgrade
Updating local repository catalogue...
pkg: file:///usr/ports/packages/meta.txz: No such file or directory
repository local has no meta file, using default settings
pkg: file:///usr/ports/packages/packagesite.txz: No such file or directory …
Run Code Online (Sandbox Code Playgroud) freenas ×10
freebsd ×8
zfs ×2
backup ×1
boot-loader ×1
cp ×1
dual-boot ×1
grub2 ×1
integrity ×1
jails ×1
linux ×1
permissions ×1
snapshot ×1
ssh ×1
transmission ×1
unmounting ×1