- 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
guesto 29.08.2016 18:37 # +1
Dummy00001 29.08.2016 19:22 # +5
ЗЫ типа, год назад семерка у половины офиса после какого-то апдейта - то ли на клиентах, то ли на PDC - стала утверждать что доступа к интернету отсутствует. никто и не заметил пока IE не запустили - фаерфоксам хромам это по барабану - а IE сказал "иди в Ж, ты в оффлайн режиме". не знаю в чем проблема была, но фиксили это пару недель, и до корпоративных IE-онли порталов достучатся было не возможно. я бля лучше такие шеллы писать/читать буду - чем вот такой хуйней под виндами страдать...
guesto 29.08.2016 23:03 # 0
Но в главном ты прав: Windows работает отлично пока работает. А когда она внезапно говорит "ERROR_INVALID_INDEX 1413 (0x585)" то хочется написать поэмму на седе, авке, грепе и bc, чтоб только пиздеца этого не видеть
Dummy00001 29.08.2016 23:41 # 0
Как по мне самое страшное это когда ты нажимаешь на кнопку....... и ничего не происходит. И как правило это происходит паралелльно с тем что что-то подвисает, хез знает что, и даже просто ребут сделать больше невозможно.
Или те же сервисы в состоянии "stopping..." Я знаю как оно на Линухах мрачно бывает, но по крайней мере можно почти всегда выщемить в чем проблема и ругаться на что-то конкретное.
guesto 29.08.2016 23:52 # +2
Ты грузишься с диска, подключаешь логи, а тебе говорят "unable to read data " и ты не знаешь почему: Логи-то бинарные.
А никакого лога загрузки у тебя тоже нет кроме тупого ntbtlog в котором только драйверы уровня system, а виснет всё позже.
В итоге ты идешь и восстанавливаешься из бекапа (ну или откатываешься к точке восстановления из теневой копии в случае Win7/2008+). В итоге ты потратил час времени, понимания проблемы у тебя ни на йоту не появилось (ты так и не понял что испортилось) и почувствовал себя полным идиотом.
В линуксах админ знает почему и что работает (ему приходится знать) а потому он знает почему что-то НЕ работает.
А в винде no serviceable parts inside.
Конечно, если ты Руссинович и знаешь кишки винды то тебе значительно легче, но 99% админов не руссиновичи
Dummy00001 30.08.2016 00:07 # +1
LOL. Знакомый в старые временя держал на серваках WinIce. Ковырялся в кишках и говорил что даже часто помогало.
guesto 30.08.2016 00:43 # 0
Но это мудоебизм конечно: реверсинженирить систему чтобы починить простые вещи.
laMer007 30.08.2016 13:46 # 0
А чего все? Хорошая была же штука
guesto 30.08.2016 14:06 # 0
Dummy00001 29.08.2016 23:46 # 0
Я где-то пост от самбовцев читал. Они говорили что да, после введения AD, все якобы поменялось, но на самом деле под покровом новых гуёв вертится все теже самые интерфейсы - и почти без изменений. Поддержку старых версий виндов они просто принципиально обрезали - не технически из-за отсутствия старых интерфейсов - а просто с помощью проверки номера версии виндов. В самбе они тогда просто подняли номер версии виндов - и почти все что раньше работало, заработало опять без изменений.
Другими словами: PDC оно, PDC.
guesto 30.08.2016 00:56 # 0
Получать данные можно через 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.
Dummy00001 30.08.2016 01:08 # 0
guesto 30.08.2016 01:31 # 0
ну вот же из твоей ссылки:
"In Active Directory domains, the concept of primary and secondary domain controller relationships no longer applies. ".
Dummy00001 30.08.2016 11:30 # 0
guesto 30.08.2016 13:26 # 0
Зачем он там?
На любом меняешь данные, они и реплицируются по кругу. Это не только в AD, это и многие СУБД так умеют
Dummy00001 30.08.2016 13:34 # 0
> Зачем он там?
потому что без мастера консистентность данных гарантировать не возможно. без мастера невозможно выбрать момент времени в котором можно сказать "вот это консистентное состояние данные"
Maт-часть: https://www.amazon.com/Distributed-Systems-Principles-Paradigms-2nd/dp/0132392275/ (Читать не рекомендую - сам не осилил - очень муторно. Но зато вся мат-часть с примерами.)
> Это не только в AD, это и многие СУБД так умеют
Врут они. Как я сказал: это маркетинг. В СУБД слово мастер давно ассоциируется с "bottleneck", почему все дружно кричат "у нас в кластере нет мастера!" На самом деле мастер есть (и часто есть много мастеров для разных целей) просто он (они) маштабируется хорошо и/или делает очень мало, почему ничего и не тормозит. Поэтому и кричат "у нас в кластере нет мастера!"
guesto 30.08.2016 13:45 # 0
Обновление данных на это время можно запретить
Dummy00001 30.08.2016 13:52 # 0
Если интересно почему это не так просто - читай мат-часть.
Или просто разминка для мозгов: нарисуй этот протокол на бумажке, и попробуй в голове просимулировать на каждом шаге протокола потенциальные крэшы серваков.
guesto 30.08.2016 13:54 # 0
Мне предлагается поверить тебе на слово что microsoft, postgres и пр пиздят, либо почитать 1000 страниц танненбаума
Dummy00001 30.08.2016 15:38 # 0
транслируя ситуацию в нераспределенный случай: тебе нужно просинхронизировать состояния Н потоков, но мутексов/атомиков/шаред памяти у тебя нет - только очередь сообщений на каждый поток. плюс есть пара другая проблем и ограничений: потоки могут в середине процесса синхронизации завершится; очереди имеют тенденцию иногда терять сообщения; сообщения иногда приходят с задержкой и не по порядку; на синхронизицию времени в разных потоках полагаться нельзя; потоки могут появится назад после того как они были рестартованы.
вперед и с песней ;)
guesto 30.08.2016 18:06 # 0
Давай определимся что такое "мастер". Дай-ка мне определение пожалуйста
void_main 30.08.2016 18:27 # −29
CTEPTOP 30.08.2016 19:39 # 0
Dummy00001 30.08.2016 19:35 # 0
guesto 30.08.2016 19:44 # 0
ты всегда говоришь о том, в чем ничего не понимаешь?
CTEPTOP 30.08.2016 19:46 # 0
void_main 30.08.2016 20:19 # −28
Dummy00001 30.08.2016 20:39 # 0
guesto 30.08.2016 21:06 # 0
Я спросил тебя "что ты под этим понимаешь?" и тут ты слился.
Dummy00001 30.08.2016 21:11 # 0
void_main 30.08.2016 21:13 # −29
Analotolievich 30.08.2016 21:13 # −1
void_main 30.08.2016 21:13 # −29
barop 08.11.2016 03:48 # 0
kurwa-nextgen 30.08.2016 13:52 # 0
guesto 30.08.2016 13:56 # 0
>>Ничего не мешает.
>>Ничего не мешает.
Повторите для Дамми пожалуйста
>> Но это неэффективно очень.
Допустим, у меня в компании работает 10 000 человек.
Каждый компьютер меняет свой пароль раз в 30 дней (так это в AD). И каждый пользователь меняет свой пароль раз в пол года.
И каждый день удаляется и добавляется 10 новых пользователей.
Как ты думаешь, сильно-ли кого-то ебет перформанс?
Это же не OLTP таблица с транзакциями пейпала.
kurwa-nextgen 30.08.2016 13:58 # 0
guesto 30.08.2016 14:06 # 0
Её в основном читают. Правят её руками (ну или делают балк инсерт после восстановления) и блокировать ее на запись можно хоть на минуту: ничего не случится.
Тут полное раздолье
wvxvw 30.08.2016 14:15 # 0
kurwa-nextgen 30.08.2016 15:18 # 0
roman-kashitsyn 30.08.2016 15:24 # 0
В лучшем случае можно нагрузку между ними разделить.
kurwa-nextgen 30.08.2016 15:32 # 0
wvxvw 30.08.2016 16:39 # +1
Чтобы прийти к выводу нужно чтобы был консенсус. А если есть всего два сервера, и они друг другу противоречат, то решить это нормально нельзя. Наша система, например, в такой ситуации переходит в ридонли режим... или вообще отказывается работать. Надо проверить.
kurwa-nextgen 30.08.2016 17:04 # 0
Так вот это не так работает. В алгоритмах консенсуса нет такого понятия, как конфликт - при достаточном числе живых голосующих кого-то в любом случае выбирают мастером. Алгоритм консенсуса просто гарантирует, что при выполнении некоторых условий у выбранного мастера будут все транзакции, принятые системой.
wvxvw 30.08.2016 19:01 # 0
Что значит "будут все транзакции"? О каких именно транзакциях идет речь?
Что такое конфликт? Ты сам про него написал, и сам с собой не согласился?
Когда я говорил про противоречие, то имел в виду процесс выбора лидера/мастера.
void_main 30.08.2016 19:09 # −30
kurwa-nextgen 30.08.2016 21:24 # 0
Записи реплицированного лога.
> Ты сам про него написал, и сам с собой не согласился?
Как объяснил, так тебя поняли. Раскрой и аргументируй свою мысль тогда. В частности, о каких булевых проблемах ты говоришь и какие противоречия могут возникать при выборе мастера?
Я более-менее детально разбирался с одним алгоритмом консенсуса. Этот алгоритм устанавливает полный порядок, какая реплика "годнее" в лидеры. Так что в нем две реплики не могут не достигнуть консенсуса: если первая реплика не голосует за вторую, то вторая проголосует за первую.
void_main 30.08.2016 21:25 # −30
kurwa 04.09.2016 15:13 # 0
kurwa-nextgen 30.08.2016 13:47 # 0
kurwa-nextgen 30.08.2016 13:49 # 0
guesto 30.08.2016 13:51 # 0
На самом деле для AD "порядок" не так важен: Если на одном контроллере админ поменял пользователю пароль на 123 а на другом через милисекунду на abc, то ничего не будет страшного если у всех будет пароль 123.
Dummy00001 31.08.2016 02:05 # 0
void_main 31.08.2016 05:22 # −22
Dummy00001 29.08.2016 19:34 # +1
3_14dar 29.08.2016 21:07 # −3
Analotolievich 30.08.2016 21:54 # −11
void_main 30.08.2016 21:55 # −21
barop 08.11.2016 03:49 # 0
void_main 01.09.2016 13:54 # −10