我需要一个大约 30 人的公司的 NAS。我们制作游戏(很多大文件、大 git 存储库,其他不多。)我正在考虑购买便宜的组件并使用 FreeNAS 之类的东西自己构建它。(假设这是一个可行的选择,价格明智。)
我将在下面列出我的需求和关注点,但我的主要问题是:构建和管理是否足够容易,或者我应该购买商业 NAS(我使用过 Synology,它满足我的所有需求。)
我的需求:
数据完整性至关重要(显然!)但我不需要 100% 的正常运行时间。如果 CPU 没电了,我可以花 2 个小时来更换它。
它不应该需要不断的修补和维护。我想把盒子放在某个角落的某个角落,当我想添加一个回购或用户时,每个月左右登录一次。话虽如此,我可以容忍适度的工作量和复杂性来设置盒子或新服务;但在那之后我希望它“正常工作”。
我想从一堆不同大小的硬盘(基本上是我们周围的硬盘)开始,并在空间不足或死机时继续使用不同大小的磁盘一个一个地升级它们。我今天必须购买 8x4TB 磁盘,然后当阵列在两年内空间耗尽时同时将它们全部更换为 8x10TB 磁盘,这对我来说是不可接受的。(Synology 的 Hybrid RAID 在这里做得很好;我还没有在其他商业 NAS 盒中找到该功能。)
对于非技术用户的常见任务,应该有一个图形用户界面(理想情况下,基于网络或其他东西)。
我将在这个机器上运行的最重要的服务将是 Samba 共享和 Git 存储库。我需要访问控制(不要太花哨或太复杂)和良好的网络支持。
我的顾虑:
FreeNAS 是适合这个的操作系统吗?我可以运行 Linux 发行版并使用软件 RAID 和 LVM 等设置我想要的一切,但这有点超出我可接受的复杂性范围(或正好在其边缘),我更喜欢更简单、更直接的工作.
如果 FreeNAS 是可行的方法,那么我会担心它基于 FreeBSD,而我对此没有任何经验。真的和Linux差别太大了吗?(我对几乎所有 Linux 终端都非常满意。)我对从源代码构建软件没有什么问题,但是一个好的包管理器(la apt 等)是一个巨大的优势。我应该期待硬件支持方面的任何问题吗?(基本上,我能想到的唯一特殊硬件就是 NIC。)
ZFS 是要走的路吗?从我读到的内容来看,ZFS(和 RAIDZ)非常棒,基本上是我一生都在寻找的东西!是吗?来自基本硬件 RAID/LVM 和 ext4/NTFS 世界的陷阱和我必须牢记的最重要的事情是什么?
我认为便宜的 2 核或 4 核 CPU 和大约 4GB 的 RAM 足以运行它。是吗?这并不重要,但我想知道我是否离开了。
网络链路聚合(NIC 绑定)在 Linux …
我有一台前面有 Apache 反向代理的服务器。服务器计算机包含 2 个运行在以下位置的 Web 应用程序:
它们本质上是网络应用程序的不同版本,我们希望它们都可用。两个web 应用程序都会创建一个 cookie,如下所示:
Set-Cookie: sessionid=as7d86fa98sg67; Path=/app; HttpOnly
Domain请注意, cookie 标头上没有属性。
我添加了 2 个不同的ProxyPassReverseCookiePath指令,如下所示:
目标是每个网络应用程序都将其Path=/app转换为适当的上下文。然而,ProxyPassReverseCookiePath 指令似乎相互覆盖,并且不了解它们运行的 Web 应用程序。
长话短说:
ProxyPass /app1/ http://localhost:8000/app/
ProxyPassReverse /app1/ http://localhost:8000/app/
ProxyPassReverseCookiePath /app /app1
ProxyPass /app2/ http://localhost:8001/app/
ProxyPassReverse /app2/ http://localhost:8001/app/
ProxyPassReverseCookiePath /app /app2
Run Code Online (Sandbox Code Playgroud)
此配置有效,但 cookie 路径属性除外。对于这两种情况,它都会被替换为Path=/app1/,而我希望它特定于处理请求的每个应用程序。
好吧,我正在做一些服务器设置阅读这篇文章并运行以下命令 -
sudo apt-get install ufw
sudo ufw enable
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Run Code Online (Sandbox Code Playgroud)
这基本上关闭了所有其他端口,现在 SSH 根本无法工作。从浏览器或 osx 终端。
我已通过串行登录进行连接,并且可以看到 ufw 阻塞连接 -
[ 1292.322021] [UFW BLOCK] IN=eth0 OUT= MAC=... SRC=00.00.00.00 DST=10.142.0.2 LEN=60 TOS=0x00 PREC=0x00 TTL=45 ID=7906 PROTO=TCP SPT=58028 DPT=22 WINDOW=60720 RES=0x00 SYN URGP=0
Run Code Online (Sandbox Code Playgroud)
现在有什么方法可以 ssh,因为我根本无法访问机器。
上周我们遇到了以下问题:由于更换 UPS,我们不得不关闭整个基础设施。在电气操作结束时,我们重新启动了:
等待 ESXi 启动后,我们发现集群出现错误:配置资源不足,无法满足集群上所需的 vSphere HA 故障切换级别。
然后我们发现 vCenter 无法通过网络联系 ESXi:交换机的 PDU 在操作过程中被拔掉。
重新插入 PDU,ESXi 现在可以与 vCenter 通信,但每个主机上都出现以下警报:无法正确安装或配置 vSphere HA 代理。
我们决定重新启动两个 ESXi,不走运,错误仍然存在。
由于维护窗口的限制,我们决定从集群中删除两台主机以便能够启动我们的虚拟机,代价是在一台主机发生故障时不会自动进行故障转移。
在谷歌搜索了很多之后,我们尝试了许多 VMware 的知识库(无顺序):
没有结果了……
在我们的旅程中,我们/var/log/fdm.log在两台主机上只发现了一个错误:
2018-06-25T09:05:54.232Z error fdm[47A8940] [Originator@6876 sub=Cluster] [ClusterPersistence::DoFetchDataSync] Open of file /etc/opt/vmware/fdm/kvstore failed: No such file …Run Code Online (Sandbox Code Playgroud) 我们目前的设置是
ALB -> Target Group -> EC2 instances
Run Code Online (Sandbox Code Playgroud)
目前,可以使用 ALB 的 IP 地址、DNS 名称(例如 xxxx-5555555555.eu-west-1.elb.amazonaws.com)以及中指定的域访问负载均衡器后面的 EC2 服务器DNS(例如 aaa.bbbbbbbb.com)。
是否可以在使用 IP 地址或 DNS 名称时阻止对 ALB 的访问,而仅在使用域名 (aaa.bbbbbbbb.com) 时才允许访问?如果是这样,我将如何设置?
routing architecture amazon-ec2 amazon-web-services amazon-alb
我想避免向后移植,它们似乎总是弄乱我的包裹。
所以我在想像 conda / virtualenv / 甚至 docker 这样的工具都可以提供帮助。在我的系统上使用 python 3.7 的最简单/最干净的方法是什么?
我正在尝试使用 strongswan 客户端将 Ubuntu Server 16.04 连接到 IPSec L2TP VPN。
显然连接建立成功,但没有创建接口 ppp0。
这是结果sudo ipsec up myconnection:
initiating Main Mode IKE_SA myconnection[2] to 116.38.129.101
generating ID_PROT request 0 [ SA V V V V ]
sending packet: from 192.168.0.104[500] to 116.38.129.101[500] (212 bytes)
received packet: from 116.38.129.101[500] to 192.168.0.104[500] (132 bytes)
parsed ID_PROT response 0 [ SA V V V ]
received NAT-T (RFC 3947) vendor ID
received XAuth vendor ID
received DPD vendor ID
generating ID_PROT request 0 …Run Code Online (Sandbox Code Playgroud) 我在 Terraform 中有现有的基础设施,并且已经使用了一段时间。最近,我交换了本地笔记本电脑的 AWS 凭证(存储在 中的凭证~/.aws/credentials),它停止工作,直到我重新设置这些凭证。
问题是我在 Terraform 源本身中声明了信用,但它似乎根本没有使用它们。
terraform {
backend "s3" {
bucket = "example_tf_states"
key = "global/vpc/us_east_1/example_state.tfstate"
encrypt = true
region = "us-east-1"
}
}
provider "aws" {
access_key = "${var.access_key}"
secret_key = "${var.secret_key}"
region = "${var.region}"
}
variable "access_key" {
default = "<hidden_for_stack_exchange_post>"
}
variable "secret_key" {
default = "<hidden_for_stack_exchange_post>"
}
variable "region" {
default = "us-east-1"
}
Run Code Online (Sandbox Code Playgroud)
访问 ID 权限 100% 良好。我使用相同的帐户 ID 和密钥进行aws configure设置,~/.aws/credentials就像我在上面的 Terraform 变量声明中一样。
只要~/.aws/credentials …
我正在阅读有关使用 Amazon Glacier 和 AWS S3 服务的文档,以便将它们用作夜间备份。除非我错过了,增量备份是如何完成的?
我想每晚从我们的 Linux 文件服务器备份 100 GB 数据,即大约 70k 个文件,以便存储以进行异地备份。但是存在删除文件的问题,因此听起来您无法更新它们。
还有另一种更简单的方法吗?是否可以使用 rsync 备份到 AWS EC2,然后将数据从 EC2 传输到 Amazon Glacier 进行存储或传输到 AWS S3?因为每晚发送一个新的 100 GB 压缩 tar 文件的想法是不切实际的。
我正在 Ubuntu 中测试 IPv6 的实现。我的 Ubuntu linux 客户端正确地从服务器获取 RA 并在广告前缀中配置一个地址。接下来,它通过具有/128掩码的DHCP 获取另一个地址。
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether f8:a9:63:0c:3c:cb brd ff:ff:ff:ff:ff:ff
inet6 2001:xxxx:1f15:yyyy::9/128 scope global
valid_lft forever preferred_lft forever
inet6 2001:xxxx:1f15:yyyy:faa9:63ff:fe0c:3ccb/64 scope global dynamic
valid_lft 82162sec preferred_lft 10162sec
inet6 fe80::faa9:63ff:fe0c:3ccb/64 scope link
valid_lft forever preferred_lft forever
Run Code Online (Sandbox Code Playgroud)
我/128对这个地址的掩码很感兴趣,这意味着点对点链接。为什么是面具/128而不是,说/64?
这是 DHCPv6 的正常行为还是与我的 DHCP 服务器的配置有关?
ubuntu-16.04 ×2
amazon-alb ×1
amazon-ec2 ×1
apache-2.4 ×1
architecture ×1
cluster ×1
cookies ×1
dhcpv6 ×1
freenas ×1
ipsec ×1
ipv6 ×1
proxypass ×1
python ×1
routing ×1
ssh ×1
strongswan ×1
terraform ×1
ubuntu-14.04 ×1
ufw ×1
vmware-esxi ×1
zfs ×1