- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
#!/bin/bash
docker images | \
grep $1 | \
awk '{ print $1":"$2 }' | \
xargs -I{} docker history --human=false {} | \
grep -P '^[0-9a-f]{12}' | \
sed -r 's/([^ ]+).+\s([^ ]+\s+)$/\1 \2/' | \
sort -u | \
grep -v ' 0' | \
awk '{ print $2 }' | \
xargs | \
sed -e 's/\ /+/g' | \
bc | xargs -I{} echo '({} / (1024.0 * 1024.0))' | bc
ЗЫ типа, год назад семерка у половины офиса после какого-то апдейта - то ли на клиентах, то ли на PDC - стала утверждать что доступа к интернету отсутствует. никто и не заметил пока IE не запустили - фаерфоксам хромам это по барабану - а IE сказал "иди в Ж, ты в оффлайн режиме". не знаю в чем проблема была, но фиксили это пару недель, и до корпоративных IE-онли порталов достучатся было не возможно. я бля лучше такие шеллы писать/читать буду - чем вот такой хуйней под виндами страдать...
Но в главном ты прав: Windows работает отлично пока работает. А когда она внезапно говорит "ERROR_INVALID_INDEX 1413 (0x585)" то хочется написать поэмму на седе, авке, грепе и bc, чтоб только пиздеца этого не видеть
Как по мне самое страшное это когда ты нажимаешь на кнопку....... и ничего не происходит. И как правило это происходит паралелльно с тем что что-то подвисает, хез знает что, и даже просто ребут сделать больше невозможно.
Или те же сервисы в состоянии "stopping..." Я знаю как оно на Линухах мрачно бывает, но по крайней мере можно почти всегда выщемить в чем проблема и ругаться на что-то конкретное.
Ты грузишься с диска, подключаешь логи, а тебе говорят "unable to read data " и ты не знаешь почему: Логи-то бинарные.
А никакого лога загрузки у тебя тоже нет кроме тупого ntbtlog в котором только драйверы уровня system, а виснет всё позже.
В итоге ты идешь и восстанавливаешься из бекапа (ну или откатываешься к точке восстановления из теневой копии в случае Win7/2008+). В итоге ты потратил час времени, понимания проблемы у тебя ни на йоту не появилось (ты так и не понял что испортилось) и почувствовал себя полным идиотом.
В линуксах админ знает почему и что работает (ему приходится знать) а потому он знает почему что-то НЕ работает.
А в винде no serviceable parts inside.
Конечно, если ты Руссинович и знаешь кишки винды то тебе значительно легче, но 99% админов не руссиновичи
LOL. Знакомый в старые временя держал на серваках WinIce. Ковырялся в кишках и говорил что даже часто помогало.
Но это мудоебизм конечно: реверсинженирить систему чтобы починить простые вещи.
А чего все? Хорошая была же штука
Я где-то пост от самбовцев читал. Они говорили что да, после введения AD, все якобы поменялось, но на самом деле под покровом новых гуёв вертится все теже самые интерфейсы - и почти без изменений. Поддержку старых версий виндов они просто принципиально обрезали - не технически из-за отсутствия старых интерфейсов - а просто с помощью проверки номера версии виндов. В самбе они тогда просто подняли номер версии виндов - и почти все что раньше работало, заработало опять без изменений.
Другими словами: PDC оно, PDC.
Получать данные можно через LDAP. итд.
Во времена NT 4.0 репликация была односторонняя: все срали в PDC, а BDC был ридонли. Этакий hot standby. Когда PDC накрывался песдой, все переключались на BDC.
Начиная с Win2K (то есть собссно с AD) у них появилась multimaster replciation. У каждого объекта есть версия и точное время изменения, и менять можно на любом DC: они сами синхронизируются и у кого время новее -- тот и победил. Понятное дело что без синка времени это не работает, но без него и Kerberos5 не работает (тоже кстати изменение коее пришло в AD на место старого NTLM).
Но для совместимости с NT 4, Win95 да и самбой (не ради линукса а ради мака конечно, где тоже есть самба) они оставили эмуляцию PDC, то-есть можно прийти через NetBIOS или DNS и спросить "а кто тут PDC?" ну и один кто-то ответит. Они и NTLM для этого поддерживают, и даже NetBIOS over IP (порт 139 который) хотя давно уже у них SMB поверх TCP (445 порт) ака direct host.
ну вот же из твоей ссылки:
"In Active Directory domains, the concept of primary and secondary domain controller relationships no longer applies. ".
Зачем он там?
На любом меняешь данные, они и реплицируются по кругу. Это не только в AD, это и многие СУБД так умеют
> Зачем он там?
потому что без мастера консистентность данных гарантировать не возможно. без мастера невозможно выбрать момент времени в котором можно сказать "вот это консистентное состояние данные"
Maт-часть: https://www.amazon.com/Distributed-Systems-Principles-Paradigms-2nd/dp/0132392275/ (Читать не рекомендую - сам не осилил - очень муторно. Но зато вся мат-часть с примерами.)
> Это не только в AD, это и многие СУБД так умеют
Врут они. Как я сказал: это маркетинг. В СУБД слово мастер давно ассоциируется с "bottleneck", почему все дружно кричат "у нас в кластере нет мастера!" На самом деле мастер есть (и часто есть много мастеров для разных целей) просто он (они) маштабируется хорошо и/или делает очень мало, почему ничего и не тормозит. Поэтому и кричат "у нас в кластере нет мастера!"
Обновление данных на это время можно запретить
Если интересно почему это не так просто - читай мат-часть.
Или просто разминка для мозгов: нарисуй этот протокол на бумажке, и попробуй в голове просимулировать на каждом шаге протокола потенциальные крэшы серваков.
Мне предлагается поверить тебе на слово что microsoft, postgres и пр пиздят, либо почитать 1000 страниц танненбаума
транслируя ситуацию в нераспределенный случай: тебе нужно просинхронизировать состояния Н потоков, но мутексов/атомиков/шаред памяти у тебя нет - только очередь сообщений на каждый поток. плюс есть пара другая проблем и ограничений: потоки могут в середине процесса синхронизации завершится; очереди имеют тенденцию иногда терять сообщения; сообщения иногда приходят с задержкой и не по порядку; на синхронизицию времени в разных потоках полагаться нельзя; потоки могут появится назад после того как они были рестартованы.
вперед и с песней ;)
Давай определимся что такое "мастер". Дай-ка мне определение пожалуйста
ты всегда говоришь о том, в чем ничего не понимаешь?
Я спросил тебя "что ты под этим понимаешь?" и тут ты слился.
>>Ничего не мешает.
>>Ничего не мешает.
Повторите для Дамми пожалуйста
>> Но это неэффективно очень.
Допустим, у меня в компании работает 10 000 человек.
Каждый компьютер меняет свой пароль раз в 30 дней (так это в AD). И каждый пользователь меняет свой пароль раз в пол года.
И каждый день удаляется и добавляется 10 новых пользователей.
Как ты думаешь, сильно-ли кого-то ебет перформанс?
Это же не OLTP таблица с транзакциями пейпала.
Её в основном читают. Правят её руками (ну или делают балк инсерт после восстановления) и блокировать ее на запись можно хоть на минуту: ничего не случится.
Тут полное раздолье
В лучшем случае можно нагрузку между ними разделить.
Чтобы прийти к выводу нужно чтобы был консенсус. А если есть всего два сервера, и они друг другу противоречат, то решить это нормально нельзя. Наша система, например, в такой ситуации переходит в ридонли режим... или вообще отказывается работать. Надо проверить.
Так вот это не так работает. В алгоритмах консенсуса нет такого понятия, как конфликт - при достаточном числе живых голосующих кого-то в любом случае выбирают мастером. Алгоритм консенсуса просто гарантирует, что при выполнении некоторых условий у выбранного мастера будут все транзакции, принятые системой.
Что значит "будут все транзакции"? О каких именно транзакциях идет речь?
Что такое конфликт? Ты сам про него написал, и сам с собой не согласился?
Когда я говорил про противоречие, то имел в виду процесс выбора лидера/мастера.
Записи реплицированного лога.
> Ты сам про него написал, и сам с собой не согласился?
Как объяснил, так тебя поняли. Раскрой и аргументируй свою мысль тогда. В частности, о каких булевых проблемах ты говоришь и какие противоречия могут возникать при выборе мастера?
Я более-менее детально разбирался с одним алгоритмом консенсуса. Этот алгоритм устанавливает полный порядок, какая реплика "годнее" в лидеры. Так что в нем две реплики не могут не достигнуть консенсуса: если первая реплика не голосует за вторую, то вторая проголосует за первую.
На самом деле для AD "порядок" не так важен: Если на одном контроллере админ поменял пользователю пароль на 123 а на другом через милисекунду на abc, то ничего не будет страшного если у всех будет пароль 123.