Да, это возможно и не вызовет проблемы, пока это настроено правильно. Для установки второго сервера DHCP как "обработки отказа", Вы захотите разделиться, DHCP 1 объемов служит. Чтобы сделать это, Вы настроили бы те же объемы на DHCP 2, поскольку существует на DHCP 1. Вы затем исключили бы процент объема на DHCP 1 и затем исключили бы противоположный процент объема на DHCP 2. Этот путь вместе они служили бы полному объему.
Microsoft рекомендует использовать 80%-й / 20% деление, но существуют дебаты по какой работы лучше всего.
Удостоверьтесь что, если у Вас есть какой-либо набор резервирования, что они - установка на вторичном сервере DHCP (если они находятся в пределах объема, который будет подаваться с того сервера).
DHCP 1 DHCP 2
scope 192.168.1.0/24 192.168.1.0/24
exclude 192.168.205 - 254 192.168.1.1 - 204
Чтобы определить, можно ли кэшировать ответы, добавьте следующий текст в свой VCL и обновите свой вопрос выходными данными varnishlog
после изменения. Также опубликуйте свою командную строку varnish, особенно TTL по умолчанию (параметр -t
). Поскольку ваш внутренний сервер не отправляет заголовок Cache-Control
, и вы не определяете beresp.ttl
в vcl_fetch
, Varnish использует значение по умолчанию для TTL определяется с помощью переключателя -t
.
Следующий VCL будет добавлять заголовки X-Cacheable
и X-ttl
к каждому запросу.
sub vcl_fetch {
# Varnish determined the object was not cacheable
if (!(beresp.ttl > 0s)) {
set beresp.http.X-Cacheable = "NO:Not Cacheable, ttl <0s";
set beresp.http.X-ttl = beresp.ttl;
return(hit_for_pass);
}
elseif (req.http.Cookie) {
set beresp.http.X-Cacheable = "NO:Got cookie";
set beresp.http.X-Cookie = req.http.Cookie;
return(hit_for_pass);
}
elseif (beresp.http.Cache-Control ~ "private") {
set beresp.http.X-Cacheable = "NO:Cache-Control=private";
return(hit_for_pass);
}
elseif (beresp.http.Cache-Control ~ "no-cache" || beresp.http.Pragma ~ "no-cache") {
set beresp.http.X-Cacheable = "Refetch forced by user";
return(hit_for_pass);
# You are extending the lifetime of the object artificially
}
elseif (beresp.ttl < 1s) {
set beresp.ttl = 5s;
set beresp.grace = 5s;
set beresp.http.X-Cacheable = "YES:FORCED";
# Varnish determined the object was cacheable
} else {
set beresp.http.X-Cacheable = "YES";
set beresp.http.X-ttl = beresp.ttl;
}
}