AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-16732

Tom O'Connor's questions

Martin Hope
Tom O'Connor
Asked: 2016-04-16 10:53:48 +0800 CST

Windows 2012 DNS 服务器逐步淘汰

  • 5

我有一个包含 3 个 AD 服务器的网络,这些服务器也运行 DNS 服务。

我们有一个从 Windows DNS 迁移到新的交钥匙 DDI 解决方案的项目。

我正在检查我能想到的所有内容,并手动更改其 DNS 客户端配置以指向新服务器的新 IP 地址。

我想要做的是将原来的 3 个 AD/DNS 服务器转换为仅转发服务器,以便它们将所有查询发送到新的 DNS 服务器,并将入站查询记录到它们(这样我就可以找出仍然需要更改的内容)。

我无法找到有关将 Windows DNS 服务器转换为仅转发而不实际解析查询本身的说明。

这是一个生产系统,所以我必须小心我对它所做的事情。- 例如,我无法更改 DC 的 IP 地址。

有任何想法吗?

windows-server-2012-r2 dns-server
  • 1 个回答
  • 96 Views
Martin Hope
Tom O'Connor
Asked: 2014-02-20 03:16:53 +0800 CST

复杂的组策略继承

  • 1

我目前正在尝试为新的 AD 部署设计 OU 和组设计。首先,分类学很难。作为第一次猜测尝试,我们试图将所有 User 对象放在一起OU=Users,以及下面的一些子 OU。

我们有一堆团队和子团队 OU,以及一些工具集 OU,它们根据人们所在的职能团队以及他们需要访问的工具进行分组。

我们希望将用户保留在用户 OU 中,每个团队 OU 都包含一个安全组对象,当用户加入团队或需要工具集访问权限时,我们可以将用户添加到该对象中。

以下是广告的布局方式:

Domain Root
|
|
\--OU=Users
|   |
|   \--OU=Staff
|   |   \-Username=Tom.OConnor, MemberOf=RedTeam
|   |
|   \--OU=Contractors
|   |
|   \--OU=Visitors
|
|
\--OU=Teams
|   |
|   \--OU=RedTeam
|   |   \-GroupName=RedTeam
|   |
|   \--OU=BlueTeam
|   |   \-GroupName=BlueTeam
|   |
|   |
|   \--OU=GreenTeam
|   |   \-GroupName=GreenTeam
|
|
|
\--OU=Toolsets
|   |
|   \--OU=DevTools
|   |   \-GroupName=DevTool_CITool
|   |
|   |
|   \--OU=InternetAccess
|   |   \-GroupName=InternetAccess

用户Tom.OConnor在 Group RedTeam 中。

GPO 应用于OU=RedTeam,OU=Teams.

GPO 结果向导显示此 GPO尚未应用于Tom.OConnor用户。

相反,应用到的 GPO 应用到OU=Staff,OU=Users用户Tom.OConnor。

那么是否可以将 GPO 应用于包含组的 OU,并让 GPO 随后向下渗透,并应用于组的所有成员?

active-directory
  • 1 个回答
  • 210 Views
Martin Hope
Tom O'Connor
Asked: 2013-09-18 13:32:46 +0800 CST

远程关闭 Windows 工作站(从 Linux)

  • 2

我有一个系统,比如说 10 个 Windows 7 Professional 工作站,加入到一个域中。

作为“紧急”系统关闭过程的一部分,我想要一种从 Linux 控制器(又是一个服务编排工具)触发远程关闭的机制。“紧急情况”这个词用引号引起来,因为它不是真正的紧急情况,但仍然需要一种机制,而不是简单地告诉用户关闭工作站。

所以,我看过psexec,这几乎是理想的,除了似乎只能从另一台 Windows 机器触发。.. 我认为让 Windows 服务器触发工作站关闭程序并非不可能,但这并不理想。

我收集的一种选择是安装 Cygwin 和 OpenSSH,但坦率地说,这似乎很笨重。

理想情况下,我想要什么......是一个作为服务运行的程序,具有本地(或域)管理员权限,侦听端口,用于 SSL 加密的 RESTful API 调用,如http://workstation:8888/admin/shutdown?key=secretsharedkey.

我是否需要在 C#.net 中编写一些东西,或者是否有用于跨平台触发 Windows 工作站关闭的工具?

windows-7
  • 3 个回答
  • 8230 Views
Martin Hope
Tom O'Connor
Asked: 2013-05-04 04:54:31 +0800 CST

异构环境“漫游”配置文件

  • 5

我所说的“漫游配置文件”实际上是指“共享主目录”。

因此,我设置了一个 AD 对,并在 .com 上共享了一个文件夹\\ad-1\homes。然后将 AD 用户对象设置为 mount H:\ = \\ad-1\homes\%username%。这在 Windows 上运行良好(如您所料)。

我还在用户 OU 上的 GPO 上配置了文件夹重定向以指向文档\\ad-1\homes\%username%\Documents等。

在 Windows 上一切如您所愿。耶。

然而。

Linux 是另一回事。使用 Winbind 和 Samba,我加入了域。没问题。

# wbinfo -u
PRODUCT\administrator
PRODUCT\guest
PRODUCT\krbtgt
PRODUCT\aa
PRODUCT\ab

我编辑了 AD uidNumber 和 gidNumber 以便我得到这个:

# wbinfo -i PRODUCT\\aa
PRODUCT\aa:*:10001:10000:aa:/home/PRODUCT/aa:/bin/bash

我天真地认为,我可以挂载\\ad-1\homes到/home/$DOMAIN并且因为用户名相同,所以我可以将它们用作主目录。

除了因为 cifs 共享是在启动时挂载的,作为 root,权限dwrxr-x-r-x root root .一直在目录树下,所以用户不能写入它们。

我已经尝试了几乎所有 mount.cifs 选项的组合,包括有前途的“ multiuser”,并找到了使用sec=krb5i.

我想要的是能够将 \ad-1\homes 目录挂载到 /home/$DOMAIN 之上,并使其看起来像

name  owner
aa/ DOMAIN\aa
ab/ DOMAIN\ab
administrator DOMAIN\administrator

等等。

有谁知道这是如何实现的?

Windows 2008 R2,安装在 SLES 11 SP2 上。

linux
  • 2 个回答
  • 1410 Views
Martin Hope
Tom O'Connor
Asked: 2012-12-20 03:40:18 +0800 CST

扩展 Logstash(使用 redis/elasticsearch)

  • 16

在超过 12 个 centos 5.8 服务器的集群上,我使用本地 logstash shipper 部署了 logstash,它发送/var/log/*/*.log回中央 logstash 服务器。

我们尝试使用 rsyslogd 作为发送者,但是由于 rsyslogd 的 ImFile 模块中的错误,如果远程端没有回复,日志将堆积在内存中。

我们目前使用 Redis 作为传输机制,因此 logstash01 已在本地运行 redis,绑定到用于这些日志的 VLAN 的 IP。

所以 logstash-shipper 发送到 logstash01 上的 redis。logstash01 发送到在单独进程中运行的 Elasticsearch。

这就是我们所看到的。Elasticsearch 有 141 个阻塞线程。跟踪 elasticsearch 父级显示:

futex(0x7f4ccd1939d0, FUTEX_WAIT, 26374, NULL

这是来自 elasticsearch 的 jstack

这是来自 logstash 的 jstack

所以.. 昨晚,一些网络服务器(其日志由 logstash 跟踪)变得疯狂,平均负载超过 500。

在 logstash01 上,有这个

Dec 19 00:44:45 logstash01 kernel: [736965.925863] Killed process 23429 (redis-server) total-vm:5493112kB, anon-rss:4248840kB, file-rss:108kB

所以 OOM-killer 杀死了 redis-server,这意味着日志堆积在服务器上的内存中,这些服务器正在运送东西。这不知何故意味着 apache 得到了它的内裤。(坦率地说,我不确定如何,我只是假设它正在跟踪日志)..

这是我对事件如何展开的理论:

  1. 我们遇到了流量高峰。
  2. 生成了大量日志。
  3. 这些堆积在 Redis 中,因为 logstash/elasticsearch 似乎只能每秒处理 300-400 个新事件。
  4. Redis 已经完全填满,以至于 OOM-killer 毫无意义地杀死了它。
  5. Redis 停止接受新项目。
  6. 项目现在开始堆积在远程主机端。
  7. 一切都变得疯狂。Apache 停止接受请求。(为什么?)。

问题是这些:

  1. 为什么 apache 会发疯,如果只是有一些东西拖在它的日志后面。是不是尾随它的东西阻止了 apache 的写入?

  2. 有没有一种明智的方法可以使 elasticsearch 更快/更好/更有弹性?

  3. 有没有一种明智的方法可以使 redis 具有弹性并且不会因为 OOM 而死

  4. 我设置的方式是否存在根本缺陷,或者每个人都有这个问题?

- 编辑 -

@lusis 的一些规范。

admin@log01:/etc/init$ free -m
             total       used       free     shared    buffers     cached
Mem:          7986       6041       1944          0        743       1157
-/+ buffers/cache:       4140       3845
Swap:         3813       3628        185

Filesystem             Size  Used Avail Use% Mounted on
/dev/sda2               19G  5.3G   13G  31% /
udev                   3.9G  4.0K  3.9G   1% /dev
tmpfs                  1.6G  240K  1.6G   1% /run
none                   5.0M     0  5.0M   0% /run/lock
none                   3.9G     0  3.9G   0% /run/shm
/dev/sda1               90M   72M   14M  85% /boot
/dev/mapper/data-disk  471G  1.2G  469G   1% /data

/dev/sda2 on / type ext3 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/sda1 on /boot type ext2 (rw)
/dev/mapper/data-disk on /data type ext3 (rw)
/data/elasticsearch on /var/lib/elasticsearch type none (rw,bind)

log01:/etc/init$ top 
top - 14:12:20 up 18 days, 21:59,  2 users,  load average: 0.20, 0.35, 0.40
Tasks: 103 total,   1 running, 102 sleeping,   0 stopped,   0 zombie
Cpu0  :  3.0%us,  1.0%sy,  0.0%ni, 95.7%id,  0.0%wa,  0.0%hi,  0.3%si,  0.0%st
Cpu1  : 12.0%us,  1.0%sy,  0.0%ni, 86.6%id,  0.0%wa,  0.0%hi,  0.3%si,  0.0%st
Cpu2  :  4.7%us,  0.3%sy,  0.0%ni, 94.9%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu3  :  5.6%us,  1.3%sy,  0.0%ni, 93.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu4  :  5.3%us,  1.3%sy,  0.0%ni, 93.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu5  :  6.4%us,  1.0%sy,  0.0%ni, 92.3%id,  0.0%wa,  0.0%hi,  0.3%si,  0.0%st
Mem:   8178120k total,  6159036k used,  2019084k free,   761780k buffers
redis
  • 1 个回答
  • 13907 Views
Martin Hope
Tom O'Connor
Asked: 2012-11-07 03:22:21 +0800 CST

rsyslogd 没有监控所有文件

  • 6

所以.. 我已经安装了 Logstash,而不是使用 logstash shipper(因为它需要 JVM 并且通常很大),我使用具有以下配置的 rsyslogd。

# Use traditional timestamp format
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf


# Provides kernel logging support (previously done by rklogd)
$ModLoad imklog
# Provides support for local system logging (e.g. via logger command)
$ModLoad imuxsock

# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.*                                                 /dev/console

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none;local6.none            /var/log/messages

# The authpriv file has restricted access.
authpriv.*                                              /var/log/secure

# Log all the mail messages in one place.
mail.*                                                  -/var/log/maillog


# Log cron stuff
cron.*                                                  /var/log/cron

# Everybody gets emergency messages
*.emerg                                                 *

# Save news errors of level crit and higher in a special file.
uucp,news.crit                                          /var/log/spooler

# Save boot messages also to boot.log
local7.*                                                /var/log/boot.log

在 /etc/rsyslog.d/logstash.conf中有 28 个使用 imfile 的文件监视器块

$ModLoad imfile   # Load the imfile input module
$ModLoad imklog   # for reading kernel log messages
$ModLoad imuxsock # for reading local syslog messages

$InputFileName /var/log/rabbitmq/startup_err
$InputFileTag rmq-err:
$InputFileStateFile state-rmq-err
$InputFileFacility local6
$InputRunFileMonitor
....
$InputFileName /var/log/some.other.custom.log
$InputFileTag cust-log:
$InputFileStateFile state-cust-log
$InputFileFacility local6
$InputRunFileMonitor
....
*.* @@10.90.0.110:5514

有 28 个 InputFileMonitor 块,每个块监视不同的自定义应用程序日志文件。

如果我跑

[root@secret-gm02 ~]# lsof|grep rsyslog
rsyslogd   5380        root  cwd       DIR              253,0       4096          2 /
rsyslogd   5380        root  rtd       DIR              253,0       4096          2 /
rsyslogd   5380        root  txt       REG              253,0     278976    1015955 /sbin/rsyslogd
rsyslogd   5380        root  mem       REG              253,0      58400    1868123 /lib64/libgcc_s-4.1.2-20080825.so.1
rsyslogd   5380        root  mem       REG              253,0     144776    1867778 /lib64/ld-2.5.so
rsyslogd   5380        root  mem       REG              253,0    1718232    1867780 /lib64/libc-2.5.so
rsyslogd   5380        root  mem       REG              253,0      23360    1867787 /lib64/libdl-2.5.so
rsyslogd   5380        root  mem       REG              253,0     145872    1867797 /lib64/libpthread-2.5.so
rsyslogd   5380        root  mem       REG              253,0      85544    1867815 /lib64/libz.so.1.2.3
rsyslogd   5380        root  mem       REG              253,0      53448    1867801 /lib64/librt-2.5.so
rsyslogd   5380        root  mem       REG              253,0      92816    1868016 /lib64/libresolv-2.5.so
rsyslogd   5380        root  mem       REG              253,0      20384    1867990 /lib64/rsyslog/lmnsd_ptcp.so
rsyslogd   5380        root  mem       REG              253,0      53880    1867802 /lib64/libnss_files-2.5.so
rsyslogd   5380        root  mem       REG              253,0      23736    1867800 /lib64/libnss_dns-2.5.so
rsyslogd   5380        root  mem       REG              253,0      20768    1867988 /lib64/rsyslog/lmnet.so
rsyslogd   5380        root  mem       REG              253,0      11488    1867982 /lib64/rsyslog/imfile.so
rsyslogd   5380        root  mem       REG              253,0      24040    1867983 /lib64/rsyslog/imklog.so
rsyslogd   5380        root  mem       REG              253,0      11536    1867987 /lib64/rsyslog/imuxsock.so
rsyslogd   5380        root  mem       REG              253,0      13152    1867989 /lib64/rsyslog/lmnetstrms.so
rsyslogd   5380        root  mem       REG              253,0       8400    1867992 /lib64/rsyslog/lmtcpclt.so
rsyslogd   5380        root    0r      REG                0,3          0 4026531848 /proc/kmsg
rsyslogd   5380        root    1u     IPv4         1200589517        0t0        TCP 10.10.10.90 t:40629->10.10.10.90:5514 (ESTABLISHED)
rsyslogd   5380        root    2u     IPv4         1200589527        0t0        UDP *:45801 
rsyslogd   5380        root    3w      REG              253,3   17999744    2621483 /var/log/messages
rsyslogd   5380        root    4w      REG              253,3      13383    2621484 /var/log/secure
rsyslogd   5380        root    5w      REG              253,3       7180    2621493 /var/log/maillog
rsyslogd   5380        root    6w      REG              253,3      43321    2621529 /var/log/cron
rsyslogd   5380        root    7w      REG              253,3          0    2621494 /var/log/spooler
rsyslogd   5380        root    8w      REG              253,3          0    2621495 /var/log/boot.log
rsyslogd   5380        root    9r      REG              253,3 1064271998    2621464 /var/log/custom-application.monolog.log
rsyslogd   5380        root   10u     unix 0xffff81081fad2e40        0t0 1200589511 /dev/log  

您可以看到实际上正在读取的日志文件远不及28 个。

我真的必须监控一个文件,所以我将它移到顶部,然后它会拾取它,但我希望能够监控所有 28 个以上的文件,而不必担心。

操作系统是

Centos 5.5 

Kernel 2.6.18-308.el5

rsyslogd 3.22.1, compiled with:
    FEATURE_REGEXP:             Yes
    FEATURE_LARGEFILE:          Yes
    FEATURE_NETZIP (message compression):   Yes
    GSSAPI Kerberos 5 support:      Yes
    FEATURE_DEBUG (debug build, slow code): No
    Atomic operations supported:        Yes
    Runtime Instrumentation (slow code):    No

问题:

为什么 rsyslogd 只监控非常小的文件子集?我该如何解决这个问题以便监控所有文件?

rsyslog
  • 3 个回答
  • 11344 Views
Martin Hope
Tom O'Connor
Asked: 2012-07-03 06:56:13 +0800 CST

您将如何测量服务器机房中的大气灰尘量?

  • 7

我们的磁带库供应商告诉我们,我们可能会看到很多错误的原因之一是我们的服务器机房特别脏。

它看起来没有灰尘,但这并不是说它不存在。

我们有一个环境传感器集群,可以测量温度、气流和相对湿度。

我可能应该指出,我想出的低挂水果解决方案是循环使用 Sellotape(透明胶带),一侧粘在服务器机柜上,另一侧自由悬挂。

我还在硬件的出口和进气风扇旁放了几个其他的胶带环(自然不会阻挡气流)。

我们如何(理想情况下以电子方式)测量粉尘水平?

monitoring server-room
  • 6 个回答
  • 1067 Views
Martin Hope
Tom O'Connor
Asked: 2012-06-24 12:39:10 +0800 CST

跨不同媒体的多 WAN 绑定

  • 9

我最近一直在考虑 Viprinet 提供的产品,基本上他们有一对路由器,一个位于数据中心,他们的VPN 多通道集线器和现场硬件,他们的 VPN 多通道路由器

他们还有一堆用于 3G、UMTS、以太网、ADSL 和 ISDN 适配器的接口卡(如 HWIC)。

他们的主要演讲似乎是跨不同媒体的结合。这是我非常想在几个项目中使用的东西,但它们的定价确实非常极端,集线器大约 1-2k,路由器 2-6k,接口模块每个 200-600。

所以,我想知道的是,是否有可能使用一些库存的 Cisco 路由器,28xx 或 18xx 系列,来做类似的事情,基本上连接一堆不同的 WAN 端口,但将它们整齐地呈现为一个通道返回互联网,如果其中一个 WAN 接口出现故障,则可以无缝(或几乎)进行故障转移。

基本上,如果我有 3x 3G 到以太网调制解调器,并且每个调制解调器都在不同的网络上,我希望能够在所有这些调制解调器之间进行负载平衡/绑定,而无需为特权支付 Viprinet。

有谁知道我将如何根据标准协议(或供应商特定协议)为自己配置一些东西,但实际上不必购买 Viprinet 硬件?

routing networking bonding
  • 4 个回答
  • 4164 Views
Martin Hope
Tom O'Connor
Asked: 2012-06-13 06:37:49 +0800 CST

SNMP 扩展不工作

  • 7

我有一台运行 Postgresql 9.1 复制的服务器。我写了一个打印出当前复制延迟的脚本(master 每 60 秒插入一个 unix 时间戳,slave 将它与当前时间戳进行比较)。

我已经添加

extend replag /usr/local/bin/check_lag_quietly.sh

到snmpd.conf,并重新启动snmpd服务,但是当我从本地主机或网络上的另一台机器对主机进行 snmpwalk 时,我可以看到所有其他 OID,但看不到这一个。
如果我做 SNMP-Get 作为

tom.oconnor@charcoal-black:~$ snmpget -v2c -cpublic dns-2 UCD-SNMP-MIB::extTable
UCD-SNMP-MIB::extTable = No Such Object available on this agent at this OID

然后它也在那里找不到 OID。

Net-SNMP 版本 5.4.2.1,Ubuntu 10.04。

snmpd ubuntu-10.04
  • 2 个回答
  • 7541 Views
Martin Hope
Tom O'Connor
Asked: 2012-06-09 07:48:53 +0800 CST

Bacula & Multiple Tape 设备等

  • 7

Bacula 不会同时使用 2 个磁带设备。(为 TL;DR搜索#-#-# )

也许有一点背景。

在尝试获得一个体面的工作备份解决方案(备份 >20TB 并不便宜或容易)的过程中$dayjob,我们买了一堆东西来让它工作。

首先,有一个 Spectra Logic T50e 自动转换器、40 个 LTO5 插槽,并且该机器人有一对 IBM HH5 Ultrium LTO5 驱动器,通过 FibreChannel Arbitrated Loop 连接到我们的备份服务器。

有备份服务器。戴尔 R715 配备 2 个 16 核 AMD 62xx CPU 和 32GB 内存。好吃。该服务器有 2 个 Emulex FCe-12000E 卡和一个 Intel X520-SR 双端口 10GE NIC。

我们还出售了 Commvault Backup(非 NDMP)。

这就是它变得非常复杂的地方。

Spectra Logic 和 Commvault 都派出了各自的工程师,他们设置了库和软件。就控制器工作正常而言,Commvault 运行良好。戴尔服务器有 Ubuntu 12.04 服务器,并运行 CommVault 的 MediaAgent,并将我们的 BlueArc NAS 作为 NFS 安装到几个安装点,比如/home, 和/mnt.

从 NFS 挂载点备份时,我们看到 ~=290GB/hr吞吐量。考虑到我们在 <48 小时的备份窗口中有 20 多 TB 的数据要通过,那就太糟糕了。BlueArc 上的额定最大值为700MB/s( 2460GB/hr),磁带设备上的额定最大写入速度为 140MB/s,每个驱动器,所以这是492GB/hr(或加倍,总吞吐量)。

因此,下一步是使用 IOzone 对 NFS 性能进行基准测试,结果证明我们获得了史诗般的写入性能(跨越 >20 个线程),写入速度大约为 1.5-2.5TB/小时,但读取性能令人绝望。我永远无法获得超过 343GB/hr 的最大值。因此,让我们假设这343GB/hr是 NAS 上读取性能的理论最大值,那么理论上我们应该能够从a) CommVault 和b)任何其他备份代理中获得该性能。

不是这样的。Commvault 似乎只给我200-250GB/hr吞吐量,出于实验,我安装了 Bacula 以查看游戏状态。例如,如果 Bacula 的性能和速度始终优于 Commvault,那么我们就可以说"**$.$ Refunds Plz $.$**"

#-#-#

las,我发现了 Bacula 的另一个问题。Commvault 似乎很乐意用一个线程从挂载点的一部分读取,并将其流式传输到磁带设备,同时用另一个线程从其他目录读取,并写入自动转换器中的第二个驱动器。

我这辈子都无法让 Bacula 同时安装和写入两个磁带驱动器。

我尝试过的事情:

  • Maximum Concurrent Jobs = 20Director、文件和存储守护进程中的设置
  • Prefer Mounted Volumes = no作业定义中的设置
  • 在 Autochanger 资源中设置多个设备。

文档似乎非常以单一驱动器为中心,我们感觉有点像我们用这个把火箭绑在仓鼠身上。大多数示例 Bacula 配置用于 DDS4 驱动器、手动磁带交换以及 FreeBSD 或 IRIX 系统。

我可能应该补充一点,如果这不可能,我也不会太在意,但我会感到惊讶。我基本上想用 Bacula 作为证据来证明软件供应商定价过高;)

我在某处读到 @KyleBrandt 用现代磁带解决方案做了类似的事情。

配置文件: bacula-dir.conf

#
# Default Bacula Director Configuration file

Director {                            # define myself
  Name = backuphost-1-dir
  DIRport = 9101                # where we listen for UA connections
  QueryFile = "/etc/bacula/scripts/query.sql"
  WorkingDirectory = "/var/lib/bacula"
  PidDirectory = "/var/run/bacula"
  Maximum Concurrent Jobs = 20
  Password = "yourekiddingright"         # Console password
  Messages = Daemon
  DirAddress = 0.0.0.0
  #DirAddress = 127.0.0.1
}

JobDefs {
  Name = "DefaultFileJob"
  Type = Backup
  Level = Incremental
  Client = backuphost-1-fd 
  FileSet = "Full Set"
  Schedule = "WeeklyCycle"
  Storage = File
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/lib/bacula/%c.bsr"
}

JobDefs {
  Name = "DefaultTapeJob"
  Type = Backup
  Level = Incremental
  Client = backuphost-1-fd
  FileSet = "Full Set"
  Schedule = "WeeklyCycle"
  Storage = "SpectraLogic"
  Messages = Standard
  Pool = AllTapes
  Priority = 10
  Write Bootstrap = "/var/lib/bacula/%c.bsr"
  Prefer Mounted Volumes = no

}

#
# Define the main nightly save backup job
#   By default, this job will back up to disk in /nonexistant/path/to/file/archive/dir
Job {
  Name = "BackupClient1"
  JobDefs = "DefaultFileJob"
}

Job {
  Name = "BackupThisVolume"
  JobDefs = "DefaultTapeJob"
  FileSet = "SpecialVolume"
}
#Job {
#  Name = "BackupClient2"
#  Client = backuphost-12-fd
#  JobDefs = "DefaultJob"
#}

# Backup the catalog database (after the nightly save)
Job {
  Name = "BackupCatalog"
  JobDefs = "DefaultFileJob"
  Level = Full
  FileSet="Catalog"
  Schedule = "WeeklyCycleAfterBackup"
  # This creates an ASCII copy of the catalog
  # Arguments to make_catalog_backup.pl are:
  #  make_catalog_backup.pl <catalog-name>
  RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup.pl MyCatalog"
  # This deletes the copy of the catalog
  RunAfterJob  = "/etc/bacula/scripts/delete_catalog_backup"
  Write Bootstrap = "/var/lib/bacula/%n.bsr"
  Priority = 11                   # run after main backup
}

#
# Standard Restore template, to be changed by Console program
#  Only one such job is needed for all Jobs/Clients/Storage ...
#
Job {
  Name = "RestoreFiles"
  Type = Restore
  Client=backuphost-1-fd                 
  FileSet="Full Set"                  
  Storage = File                      
  Pool = Default
  Messages = Standard
  Where = /srv/bacula/restore
}

FileSet {
  Name = "SpecialVolume"
  Include {
    Options {
      signature = MD5
    }
  File = /mnt/SpecialVolume
  }
  Exclude {
    File = /var/lib/bacula
    File = /nonexistant/path/to/file/archive/dir
    File = /proc
    File = /tmp
    File = /.journal
    File = /.fsck
  }
}


# List of files to be backed up
FileSet {
  Name = "Full Set"
  Include {
    Options {
      signature = MD5
    }
    File = /usr/sbin
  }

  Exclude {
    File = /var/lib/bacula
    File = /nonexistant/path/to/file/archive/dir
    File = /proc
    File = /tmp
    File = /.journal
    File = /.fsck
  }
}

Schedule {
  Name = "WeeklyCycle"
  Run = Full 1st sun at 23:05
  Run = Differential 2nd-5th sun at 23:05
  Run = Incremental mon-sat at 23:05
}

# This schedule does the catalog. It starts after the WeeklyCycle
Schedule {
  Name = "WeeklyCycleAfterBackup"
  Run = Full sun-sat at 23:10
}

# This is the backup of the catalog
FileSet {
  Name = "Catalog"
  Include {
    Options {
      signature = MD5
    }
    File = "/var/lib/bacula/bacula.sql"
  }
}

# Client (File Services) to backup
Client {
  Name = backuphost-1-fd
  Address = localhost
  FDPort = 9102
  Catalog = MyCatalog
  Password = "surelyyourejoking"          # password for FileDaemon
  File Retention = 30 days            # 30 days
  Job Retention = 6 months            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}

#
# Second Client (File Services) to backup
#  You should change Name, Address, and Password before using
#
#Client {
#  Name = backuphost-12-fd                
#  Address = localhost2
#  FDPort = 9102
#  Catalog = MyCatalog
#  Password = "i'mnotjokinganddontcallmeshirley"         # password for FileDaemon 2
#  File Retention = 30 days            # 30 days
#  Job Retention = 6 months            # six months
#  AutoPrune = yes                     # Prune expired Jobs/Files
#}


# Definition of file storage device
Storage {
  Name = File
# Do not use "localhost" here    
  Address = localhost                # N.B. Use a fully qualified name here
  SDPort = 9103
  Password = "lalalalala"
  Device = FileStorage
  Media Type = File
}

Storage {
  Name = "SpectraLogic"
  Address = localhost
  SDPort = 9103
  Password = "linkedinmakethebestpasswords"
  Device = Drive-1
  Device = Drive-2
  Media Type = LTO5
  Autochanger = yes
}



# Generic catalog service
Catalog {
  Name = MyCatalog
# Uncomment the following line if you want the dbi driver
# dbdriver = "dbi:sqlite3"; dbaddress = 127.0.0.1; dbport =  
  dbname = "bacula"; DB Address = ""; dbuser = "bacula"; dbpassword = ""
}

# Reasonable message delivery -- send most everything to email address
#  and to the console
Messages {
  Name = Standard

  mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: %t %e of %c %l\" %r"
  operatorcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: Intervention needed for %j\" %r"
  mail = root@localhost = all, !skipped            
  operator = root@localhost = mount
  console = all, !skipped, !saved
#
# WARNING! the following will create a file that you must cycle from
#          time to time as it will grow indefinitely. However, it will
#          also keep all your messages if they scroll off the console.
#
  append = "/var/lib/bacula/log" = all, !skipped
  catalog = all
}


#
# Message delivery for daemon messages (no job).
Messages {
  Name = Daemon
  mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula daemon message\" %r"
  mail = root@localhost = all, !skipped            
  console = all, !skipped, !saved
  append = "/var/lib/bacula/log" = all, !skipped
}

# Default pool definition
Pool {
  Name = Default
  Pool Type = Backup
  Recycle = yes                       # Bacula can automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 365 days         # one year
}

# File Pool definition
Pool {
  Name = File
  Pool Type = Backup
  Recycle = yes                       # Bacula can automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 365 days         # one year
  Maximum Volume Bytes = 50G          # Limit Volume size to something reasonable
  Maximum Volumes = 100               # Limit number of Volumes in Pool
}

Pool {
  Name = AllTapes
  Pool Type = Backup
  Recycle = yes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 31 days         # one Moth
}

# Scratch pool definition
Pool {
  Name = Scratch
  Pool Type = Backup
}

#
# Restricted console used by tray-monitor to get the status of the director
#
Console {
  Name = backuphost-1-mon
  Password = "LastFMalsostorePasswordsLikeThis"
  CommandACL = status, .status
}

bacula-sd.conf

#
# Default Bacula Storage Daemon Configuration file
#

Storage {                             # definition of myself
  Name = backuphost-1-sd
  SDPort = 9103                  # Director's port      
  WorkingDirectory = "/var/lib/bacula"
  Pid Directory = "/var/run/bacula"
  Maximum Concurrent Jobs = 20
  SDAddress = 0.0.0.0
#  SDAddress = 127.0.0.1
}

#
# List Directors who are permitted to contact Storage daemon
#
Director {
  Name = backuphost-1-dir
  Password = "passwordslinplaintext"
}

#
# Restricted Director, used by tray-monitor to get the
#   status of the storage daemon
#
Director {
  Name = backuphost-1-mon
  Password = "totalinsecurityabound"
  Monitor = yes
}


Device {
  Name = FileStorage
  Media Type = File
  Archive Device = /srv/bacula/archive
  LabelMedia = yes;                   # lets Bacula label unlabeled media
  Random Access = Yes;
  AutomaticMount = yes;               # when device opened, read it
  RemovableMedia = no;
  AlwaysOpen = no;
}


Autochanger {
   Name = SpectraLogic
   Device = Drive-1
   Device = Drive-2
   Changer Command = "/etc/bacula/scripts/mtx-changer %c %o %S %a %d"
   Changer Device = /dev/sg4
}

Device {
   Name = Drive-1
   Drive Index = 0
   Archive Device = /dev/nst0
   Changer Device = /dev/sg4
   Media Type = LTO5
   AutoChanger = yes
   RemovableMedia = yes;
   AutomaticMount = yes;
   AlwaysOpen = yes;
   RandomAccess = no;
   LabelMedia = yes

}

Device {
   Name = Drive-2
   Drive Index = 1
   Archive Device = /dev/nst1
   Changer Device = /dev/sg4
   Media Type = LTO5
   AutoChanger = yes
   RemovableMedia = yes;
   AutomaticMount = yes;
   AlwaysOpen = yes;
   RandomAccess = no;
   LabelMedia = yes
}

# 
# Send all messages to the Director, 
# mount messages also are sent to the email address
#
Messages {
  Name = Standard
  director = backuphost-1-dir = all
}

bacula-fd.conf

#
# Default  Bacula File Daemon Configuration file
#

#
# List Directors who are permitted to contact this File daemon
#
Director {
  Name = backuphost-1-dir
  Password = "hahahahahaha"
}

#
# Restricted Director, used by tray-monitor to get the
#   status of the file daemon
#
Director {
  Name = backuphost-1-mon
  Password = "hohohohohho"
  Monitor = yes
}

#
# "Global" File daemon configuration specifications
#
FileDaemon {                          # this is me
  Name = backuphost-1-fd
  FDport = 9102                  # where we listen for the director
  WorkingDirectory = /var/lib/bacula
  Pid Directory = /var/run/bacula
  Maximum Concurrent Jobs = 20
  #FDAddress = 127.0.0.1
  FDAddress = 0.0.0.0
}

# Send all messages except skipped files back to Director
Messages {
  Name = Standard
  director = backuphost-1-dir = all, !skipped, !restored
}
backup tape bacula commvault
  • 2 个回答
  • 6901 Views
Martin Hope
Tom O'Connor
Asked: 2012-05-11 05:01:51 +0800 CST

在 Windows 7 中限制 Internet 访问

  • 5

在 Windows 7 Professional 笔记本电脑上,而不是在域上,将 Internet(最好是网络)访问限制为仅管理员用户的最佳方法是什么?

我不想简单地设置一个虚假的网络地址或代理。不知何故,这似乎太脏了。

group-policy windows-7
  • 5 个回答
  • 1017 Views
Martin Hope
Tom O'Connor
Asked: 2010-02-09 04:18:55 +0800 CST

BGP 多宿主/多位置最佳实践

  • 2

我们正在设计我们网络的新迭代,我们通过添加第二个数据中心来提高弹性。

我们将添加第二个数据中心,其服务器配置与我们的主要位置相同。为了实现网络连接,我们正在研究几种可能的方法。查看前面的问题提高弹性的最佳方法是什么?和DNS 循环故障转移和负载平衡

我非常相信 BGP 是解决这个问题的正确方法,而这个问题与 RRDNS 无关。

1) 如果我们有 2 个位置,我们是否会从两个位置宣布相同的 IP 地址块?

2) 如果我们这样做了,但是在数据中心 A 的 xxx50 上有一个管理 ssh 接口,但它在数据中心 B 的 xxx150 上。

实现这一目标的最佳实践机制是什么?因为如果我离A最近,那么我所有的流量都会去x.50,但是如果我试图连接到x.150,我就无法连接,因为这个地址在A处无效,但仅限于 B。

最好的解决方案是宣布 2 个不同的网络块,每个位置一个,以促进对 RRDNS 的需求,还是宣布一个块,并在两个站点之间运行某种形式的 VPN 以管理流量?

vpn routing cisco ip-address bgp
  • 2 个回答
  • 1937 Views
Martin Hope
Tom O'Connor
Asked: 2010-02-02 04:02:59 +0800 CST

windows 2008 R2 服务器上的用户不能更改自己的密码

  • 6

我有一个配置为 PDC 和终端服务的 Win2k8R2 服务器(是的,我知道。)。我的经理希望用户能够通过使用开始菜单 -> Windows 安全 -> 更改密码来重置他们自己的密码。

我原则上不反对这一点。他试图更改自己的密码,却遇到“您的密码不符合复杂性规则”消息。我已经从另一个帐户以相同的方式进行了测试,也无法更改非特权用户的密码。

我可以通过以我的帐户(即管理员以及企业和域管理员)登录,使用 Active Directory 用户和计算机,然后重置他们的密码来更改用户的密码。

如果他们想重设密码,我很高兴他们过来这样做,我们是一个大约 8 人的小团队,这不是一项艰巨的任务。

但是,即使我通过编辑 Group Policy禁用 Password Complexity ,用户仍然无法更改自己的密码。

问题:

  1. 我缺少什么神奇的设置来允许他们更改自己的密码?
  2. 用户必须访问管理员进行密码重置是否正常?(这就是我工作过的许多其他公司的工作方式)
  3. 有一个更好的方法吗?我不喜欢不安全的密码。
windows-server-2008 group-policy security active-directory password
  • 1 个回答
  • 7995 Views
Martin Hope
Tom O'Connor
Asked: 2010-01-12 07:46:06 +0800 CST

DNS 循环故障转移和负载平衡

  • 5

阅读了此处有关 DNS 负载平衡和循环 DNS 的所有问题和答案( 1 2 3等),仍有许多未回答的问题。

大公司,我在这里查看 Google、Facebook 和 Twitter,确实提供了多个 A 记录。
1) 如果 DNS 负载平衡/故障转移如此狡猾,为什么大型组织要这样做?

似乎很少提及“DNS Pinning”,尽管有这篇(PDF) 论文关于它。
2) 为什么很少提到 DNS Pinning?

3) 有没有具体的例子说明哪些 ISP 等实际上重写了 DNS TTL?

也就是说,我并不完全支持使用 DNS 进行故障转移或任何形式的负载平衡。对于大多数网络,BGP 多样化路由似乎仍然更合适。

DNS 再次抬起了丑陋的脑袋。:(

domain-name-system load-balancing bgp failover
  • 1 个回答
  • 2270 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve