>а честный sync на каждый set/sets. Это самый дорогой и надежный способ синхронизации.
Это ужасно.
Аналогичный подход исповедует команда проекта Sia, так одно время их продукт приходилось пускать с tmpfs, потому что даже на SSD было медленно, а на шпинделе вообще часы! И это на БД меньше гигабайта! Естественно костыли уровня cp db /tmp; dosmth /tmp/db ; cp /tmp/db ./ надёжности не добавляли.
В принципе, такой ситуации можно было ожидать. Эксперты и раньше предупреждали, что природа государства как открытого и бесконтрольного вместилища оторванных от реальности законов об информации открывает двери для злоупотреблений.
Один конец жгута привязан, за второй кто-то тянет. Вы — средняя метка. Вы видите, как обе метки справа и слева от вас убегают с примерно одинаковой скоростью
В этой аналогии есть изъян. Представим себе, что мы растягиваем лист резины между двух палок. Тогда из 4х меток вокруг нас 2 будут отдаляться, а 2 останутся неподвижными и мы сможем определить ось, вдоль которой наш резиновый мирок растягивают. А ИРЛ такой оси не наблюдается.
представьте, что вы выдаете на Землю, а ваш брат-близнец падает на точно такую-же планету Терра, во так (не в масштабе): >-/o O
>-\o O
Между вами и планетами достаточное расстояние, вы с близнецом двигаетесь параллельно и с одинаковыми скоростями и ускорениями. Внезапно одна из планет (пусть это будет Терра) испускает часть массы в виде гравитационных волн и становится намного легче. Ускорение вашего брата уменьшается: >-/o O
>-\o *
И вы такой смотрите на братана в телескоп и возмущаетесь: «чего он вдруг стал отставать? У него антигравитатор завёлся?» >-/o O
>-\o *
А если вы по какой-то причине не видите ни одну из планет, то даже не сможете понять — чьё ускорение увеличивается и чьё замедляется.
Виртуалки совсем не так сильно тупят с IO, как нативные системы. Пользуются буферами и кешами хост-системы. Например, windows xp на виртуалку ставится за 3 минуты, а на железо — минут 20.
Баги в винтах, похоже, обычное дело. У меня есть диск (Samsung), который при записи пропускает серию из 69 блоков — всегда в разных местах. Просто не пишет их на блины, оставляя там старые данные посреди новых.
Нельзя. есть такой механизм — overcommit, когда ОС обещает программе больше памяти, чем реально есть в расчёте на то, что программа эту память всю никогда не задействует. Программы подсели на эту иглу и просто просят тонны памяти, а при порезанном overcommit или выставленном ulimit просто не запускаются.
Недавно видел любопытный вопрос — «как уменьшить GPT» — не какой-то раздел на GPT, а всю разметку, передвигая копию GPT ближе к началу. Это нужно, например, перед переездом на носитель меньшего размера или при скукоживании диска виртуалки.
Выяснилось, что никак нельзя, по крайней мере parted и fdisk отказывались верить, что на 500гб диске может быть GPT от терабайтного. Надо было попробовать gdisk, но я тогда запамятовал про неё. А вот с MBR такой проблемы бы не было вовсе, ей размер диска вообще до лампочки.
Я много лет торчал на форуме для начинающих веб-мастеров (это это тогда называлось). И вот это вот мне очень режет глаз:
>Быть начинающим (быдлокодером если вам так угодно)
Начинающий != быдлокодер. Начинающий может чего-то полезного не знать, это нормально. Быдлокодер полезное узнал и отверг. «зачем мне разбивать тысячестрочную функцию на части, и так работает», «зачем делать программу готовой к неправильным данным? Пусть пользователь вводит правильно!», «зачем мне использовать для этой задачи подходящий язык? Я будут везде использовать тот, что знаю (или думаю, что знаю)». Быдлокодер — это не начинающий, это конченный.
Это ужасно.
Аналогичный подход исповедует команда проекта Sia, так одно время их продукт приходилось пускать с tmpfs, потому что даже на SSD было медленно, а на шпинделе вообще часы! И это на БД меньше гигабайта! Естественно костыли уровня
cp db /tmp; dosmth /tmp/db ; cp /tmp/db ./
надёжности не добавляли.Но между собой сервера прекрасно общаются (как и в, например, электронной почте).
PS Но я, конечно же, не готов опровергнуть гипотезу Горькавого-Василькова на основе резиновой аналогии.
В этой аналогии есть изъян. Представим себе, что мы растягиваем лист резины между двух палок. Тогда из 4х меток вокруг нас 2 будут отдаляться, а 2 останутся неподвижными и мы сможем определить ось, вдоль которой наш резиновый мирок растягивают. А ИРЛ такой оси не наблюдается.
В некотором смысле он и полетел, ведь изначально оба брата были неподвижны относительно друг друга.
>-/o O
>-\o O
Между вами и планетами достаточное расстояние, вы с близнецом двигаетесь параллельно и с одинаковыми скоростями и ускорениями. Внезапно одна из планет (пусть это будет Терра) испускает часть массы в виде гравитационных волн и становится намного легче. Ускорение вашего брата уменьшается:
>-/o O
>-\o *
И вы такой смотрите на братана в телескоп и возмущаетесь: «чего он вдруг стал отставать? У него антигравитатор завёлся?»
>-/o O
>-\o *
А если вы по какой-то причине не видите ни одну из планет, то даже не сможете понять — чьё ускорение увеличивается и чьё замедляется.
Как это нет? Есть LVM cache, есть bcache. Кладёте кэш на ssd и вперёд.
Вы не поняли. Диск станет меньше. Это не может не трогать резервную область, которая сидит в конце диска, который конец скоро будет откушен.
Что самое печальное, такие задачи людям-то трудно объяснить, а уж гуглить и вовсе нереально :(
Выяснилось, что никак нельзя, по крайней мере parted и fdisk отказывались верить, что на 500гб диске может быть GPT от терабайтного. Надо было попробовать gdisk, но я тогда запамятовал про неё. А вот с MBR такой проблемы бы не было вовсе, ей размер диска вообще до лампочки.
>Быть начинающим (быдлокодером если вам так угодно)
Начинающий != быдлокодер. Начинающий может чего-то полезного не знать, это нормально. Быдлокодер полезное узнал и отверг. «зачем мне разбивать тысячестрочную функцию на части, и так работает», «зачем делать программу готовой к неправильным данным? Пусть пользователь вводит правильно!», «зачем мне использовать для этой задачи подходящий язык? Я будут везде использовать тот, что знаю (или думаю, что знаю)». Быдлокодер — это не начинающий, это конченный.