我正在研究一个非常大的文件服务器(70+TB,只提供 NFS 和 CIFS)的 RAID 解决方案。我知道在硬件 raid 之上使用 ZFS raid 通常是禁忌的,但是我发现自己处于不寻常的情况。
我个人的偏好是设置大型RAID-51虚拟磁盘。即两个镜像 RAID5,每个 RAID5 有 9 个数据 + 1 个热备件(因此我们不会损失太多存储空间)。这通过将数据镜像到两个不同的驱动器机箱上来缓解我的管理偏执,同时允许在危机发生之前在每个镜像集中出现 1 个磁盘故障。
然而,这个问题源于这样一个事实,即我们有现有的硬件 RAID 控制器(LSI Megaraid 集成磁盘机箱 + 服务器),仅许可用于 RAID5 和 6。我们还有一个现有的 ZFS 文件系统,这是预期的(但尚未配置)使用 RFS-1 提供 HA。
从我在文档中看到的,ZFS 不提供 RAID-51 解决方案。
建议使用硬件raid 在每个机箱上创建两个大小相同的RAID5 虚拟磁盘。然后,这两个 RAID5 虚拟磁盘将作为 /dev/sdx 提供给它们各自的服务器。
然后使用 ZFS + RFS-1 将这两个虚拟磁盘镜像为 HA 镜像集(见图)
这是一个好主意,一个坏主意,还是一个丑陋(但可用)的配置。
有更好的解决方案吗?
如何更改默认选项为zfs文件系统上的现有的zpool?
也就是说,ZFS 为每个zpool池存储新zfs文件系统的默认值。zfs create如果它们没有被明确覆盖,那么它们将被用作默认值。
我知道zpool允许通过使用大写-O标志在创建时设置这些默认值:
zpool create -O atime=off -O compression=on ...
Run Code Online (Sandbox Code Playgroud)
这样,所有文件系统创建命令都可以缩短为:
zfs create -o atime=off -o compression=on ...
Run Code Online (Sandbox Code Playgroud)
到:
zfs create ...
Run Code Online (Sandbox Code Playgroud)
但是,如果我没有设置-Oonzpool创建怎么办?如何为现有池设置或更改它们?
更新
以下命令最终对我有用:
zfs set atime=off compression=on zroot
Run Code Online (Sandbox Code Playgroud)
感谢@ewwhite 和@shodanshok。
当我使用 删除 Ubuntu 中的一个包时apt-get remove package,它似乎总是留下很多文件......例如,日志文件/var/log,配置文件/etc,数据/var/lib,等等。
如何完全删除 Ubuntu 中软件包的所有痕迹,就好像它从未存在过一样?
如果我理解正确,电子邮件接收者会通过将 MAIL FROM(返回路径)地址的域 IP 与域的 SPF 策略(在 DNS 中)中列出的 IP 进行匹配来检查电子邮件来源的有效性。
我不明白的是,作为骗子,我可以创建任何域,例如 xyzzzz.com,在 DNS 中添加 SPF 策略并将 MAIL FROM 地址设置为 xyzzzz.com,并且仍然欺骗发件人地址(作为 SPF仅根据 MAIL FROM 地址验证身份);它是最终客户端实际看到的 From 地址。
因此我不明白 SPF 的好处。
我正在尝试正确诊断我有权访问的服务器似乎无法通过端口 443 联系互联网上的另一台服务器的问题:
~$ curl https://mydomain.co.uk -vvv
* Rebuilt URL to: https://mydomain.co.uk/
* Trying 1.2.3.4...
* TCP_NODELAY set
* Connected to mydomain.co.uk (1.2.3.4) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
* CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to mydomain.co.uk:443
* stopped the pause stream!
* Closing connection 0
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to mydomain.co.uk:443
Run Code Online (Sandbox Code Playgroud)
我读到这可能是由于密码不兼容造成的。所以我在不同网络的不同服务器上尝试了它,但这次连接成功: …
我有一个 AWS VPC,错误地清除了默认 DHCP 选项集。因此,我有一些服务器的主机名错误(无法解析)并且缺少/etc/resolv.conf.
我已修复 VPC 以使用默认 DHCP 选项集。有没有办法让服务器接受这些更改?
我运行以下 PowerShell 脚本来比较组列表....
$dasMem = Get-ADUser -Server "<some-srv>" -Identity "<some-usr>" -Properties MemberOf | Select MemberOf
$blahx = $dasMem.MemberOf | % { $_ -replace "^CN=", "" } | % { $_ -replace ",.*$", "" } | sort
$blahx
Run Code Online (Sandbox Code Playgroud)
当我得到列表时,我最终得到了一个缺失的组,Domain users我认为这是一个标准的默认组。当我提取脚本时,它是否有任何原因丢失?
需要明确的是,我能够在 中看到该组Active Directory Users and Computers,但无法从上面的脚本中看到。
是否可以创建仅具有 IPv6 地址的自定义桥接网络?
当我尝试通过以下方式创建自定义桥接网络时:
docker network create --driver bridge --ipv6 --subnet 2001:db8:2::/64 mybridge
Run Code Online (Sandbox Code Playgroud)
并检查我得到的创建的网络:
[
{
"Name": "mybridge",
"Id": "b09351a7b7b4936bc0b3fdc7627d4a13ef3260d3f914ae347756f6358ab3a27d",
"Created": "2019-02-26T11:41:37.261479401Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": true,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.19.0.0/16",
"Gateway": "172.19.0.1"
},
{
"Subnet": "2001:db8:2::/64"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {},
"Labels": {}
}
Run Code Online (Sandbox Code Playgroud)
]
当我运行容器时,它会获取 IPV4 地址:
root@ip-10-0-3-167:/home/ubuntu# docker run -d --net mybridge redis
75fac838472a94519f30e2bdbcc10403a7a952fce285ee5d258fd87f0773f618 …Run Code Online (Sandbox Code Playgroud) 我最近有了一台 Ubuntu 18 服务器,至少可以说我有点困惑。
第一:如果我运行sudo service nginx start或sudo systemctl start nginx,一切似乎都有效。我的网站加载,并且都sudo service nginx status和sudo systemctl status nginx返回的所有明确的信息。
现在的问题是:当我重新启动我的服务器时,nginx不会自动启动,因为网站没有被加载。我试过sudo systemmctl enable nginx又试了一次重新启动。同样,nginx由于网站未加载而未运行。
事实上,如果我重新启动我的服务器sudo reboot然后sudo service nginx status或者sudo systemctl status nginx我收到一条错误消息。尽管有错误消息,但我可以运行sudo service nginx start或者sudo systemctl start nginx它会全部恢复工作。
我收到的错误消息如下:
(venv) user@server:/data/project$ sudo systemctl status nginx
? nginx.service - A high performance web server and a reverse proxy server
Loaded: …Run Code Online (Sandbox Code Playgroud) 所以,我一直在我的 docker 容器(nginx 连接到 php-fpm)上运行一些基准测试,它比裸机慢 70 倍以上。与每秒 7,000 个裸机相比,我每秒可以管理 100 个请求。
docker-compose.yml:
version: '3'
services:
#web
frontend:
build:
context: ./environment/nginx
dockerfile: ./Dockerfile
container_name: nginx_software
restart: always
ports:
- 80:80
volumes:
- ./environment/nginx/nginx.conf:/etc/nginx/nginx.conf
links:
- php
php:
build:
context: ./environment/php
args:
version: 7.3-fpm
dockerfile: ./Dockerfile
container_name: php_software
restart: always
ports:
- 9000:9000
volumes:
- ./api:/var/www/software:cached
links:
- mysql
mysql:
build:
context: ./environment/mysql
args:
version: 5.7
dockerfile: ./Dockerfile
container_name: mysql_software
command: --default-authentication-plugin=mysql_native_password
restart: always
ports:
- 3306:3306
volumes:
- ./environment/mysql/data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: …Run Code Online (Sandbox Code Playgroud) docker ×2
nginx ×2
ubuntu ×2
zfs ×2
amazon-vpc ×1
apt ×1
curl ×1
defaults ×1
dhcp ×1
email ×1
groups ×1
https ×1
ipv6 ×1
linux ×1
networking ×1
packages ×1
php-fpm ×1
powershell ×1
spf ×1
ssl ×1
systemctl ×1
ubuntu-18.04 ×1
uwsgi ×1
zfsonlinux ×1