We rise up for the things we believe in over and over again
... можно только прекратить.

Что ж, когда-то все равно пришлось бы это признать. В одно рыло я это не вывожу, а посему начало года у меня будет веселым - полная замена пола в зале с привлечением третьих лиц. И черт подери - это паркет. Под который ушла плесень. Сколько бы я ни выводил ее со стен, пока она не будет уничтожена под полом - все напрасно. Огромное спасибо тем чертям этажом выше, что залили меня осенью. Вот просто вселенская благодарность.

Ну что ж, зато в копилку - знания о том, как вообще устроен пол под паркетом, плюс навыки взаимодействия с людьми, которые будут все это делать. По крайней мере в копилке эти знания окажутся после завершения этого адового квеста. А пока... пока попрошу у мироздания хотя бы немного удачи, чтобы все это провернуть. Удача там точно понадобится.

@музыка: Lightning Returns: Final Fantasy XIII OST - Touzokudan Monoculus

@темы: Этот безумный мир

We rise up for the things we believe in over and over again
Полтора часа пешей прогулки по колпинскому "пиздорезу" (с) Котофейка (спасибо за определение!) в ритм The Midnight - Prom Night ни разу не свалившись - это, я скажу вам, мощно. Хотя я все таки предпочел бы менее скользкое покрытие под ногами, в конце концов - идти в такт музыке с правильным темпом - моя слабость.

Вообще, про Prom Night мне уже доводилось писать пару лет назад. Там я еще указал, что именно меня привлекло в данной композиции. А уж коли она вспомнилась, да еще и так удачно, почему бы не вспомнить еще парочку, с не менее интересными гитарными переборами, к котором у меня самая настоящая слабость:

Но Era - ладно. В свое время она у многих на слуху была, многие про нее знают. А вот второй известен менее широкому кругу. Что ни коим образом не умаляет достоинств его композиции:



@музыка: Medwyn Goodall - Journeys of the Heart

@темы: Этот безумный мир, Music

We rise up for the things we believe in over and over again
Что я могу сказать - мечта сбылась. Я наконец-то побывал на концерте Земли Ветров вживую. И если описать мои ощущения кратко - класс! Не "неописуемый востор", все таки, но именно что класс. Ниже я дам ответ, почему именно так.

У меня нет никаких претензий к репертуару коллектива, в противном случае я бы вряд ли вообще на концерт пошел. Но мероприятие в очередной раз показало мне, почему я одновременно и недолюбливаю живые концерты (и поэтому достаточно редко на них бываю), и в то же время понимаю, почему люди ловят на них такой кайф. Начну с негативной стороны.

Всему причиной то, что я слышу. Да-да, пресловутая разница со студийным звуком. Ни для кого не секрет, что концертное исполнение отличается от студийного. Отличия и в том, как коллектив играет, и в том, как фронтмен поет. Иногда разница между тем, что ты помнишь по альбому, и тем, что ты слышишь в текущий момент доходит до такого, что невольно спрашиваешь себя - это точно та же песня, или все же что-то иное. Когда-то эта разница уходит в плюс, когда-то в минус. Но она всегда слышна, упустить ее просто невозможно.
Студийный звук всегда вылизан. Он доведен именно до того состояния, каким его коллектив и задумал. На концертах же это далеко не так. И сама группа может отыграть иначе, и звукотехники площадки могут облажаться, в общем - факторов там порядочно. И это тоже вносит свою лепту в то, что посетитель слышит. И в конце концов может повлиять (да что там может, обязательно повлияет) на итоговое впечатление от мероприятия. К моему великому сожалению, именно звукотехник чего-то не углядел. Заметил, как он сам сидел с планшетом, на котором, видимо, и настраивал что-то, и вид у него прямо таки кричал "ну как так-то?!". Похоже, сам не понимал, что и где пошло не так, а вариантов бесшовно поправить уже не было.

Ну а теперь то, за что концерты народ и любит, как мне кажется. ДРАЙВ! Прослушивание песен дома, конечно, задает определенный тон ощущениям от музыки и текста, но живое исполнение и угарающая (в положительном ключе) рядом толпа народу - это совершенно другие чувства. По-белому завидую тем людям, что способны вот так отрываться на площадке в такт мелодии, сам я в этом плане жуткий стесняшка, но хлопать под музыку - только дай. Ладони мне еще долго будут напоминать о том, как я с ними не по-братски обошелся, но плевать. I regret nothing!
И да, почти все, что я хотел услышать именно что в живом исполнении, ребята и отыграли. А большего и желать-то грешно будет.

Ребята, если вы когда-нибудь выйдете на эту запись и прочтете ее: земной вам поклон! Спасибо огромнейшее за ваше творчество!

P.S. Момент с броском первой футболки был просто неописуемо шикарен :)

@музыка: Земля Ветров - Колыбельная

@темы: Music

We rise up for the things we believe in over and over again
Объясняю электрику суть того, что нужно сделать в рамках вызова. Там работы - от распределительной коробки спустить вниз пять проводов, котоыре потом будут подключены к блоку "3-клавишный выключатель+розетка". В общем, никакой rocket science, справился бы и сам, но в распредкоробку бородатых годов я предпочитаю не лезть, потому что там ад и мрак.

Все бы ничего, но фронт работы описан был так:

- Там нужно пять линков прокинуть...

Мужик прикола не понял, а я сам аж в ступор после этих слов ушел. Любой нормальный админ следом тут же бы спросил - а линки-то где? :)

Фишка в том, что линк на жаргоне айтишников - это сетевой, а не силовой провод.

И да, после этих работ в очередной раз убедился, что алюминиевая проводка - зло злейшее. И если есть возможность сменить ее на медную - менять не раздумывая. А если это еще и старая алюминиевая проводка годов этак 60-х, вообще тушите свет. Провода хрупкие, ломаются на счет раз, а их длина ограничена. И если все пойдет совсем по одному месту, не миновать лишнего штробления стены.

@музыка: Midnight Danger - Terror by Night

@темы: Этот безумный мир, Этот веселый мир

We rise up for the things we believe in over and over again
Музыка из игры Chrono Cross, равно как и сама игра, со мной уже два десятка лет. Но только сегодня, черт побери, я услышал последние ноты заключительной темы. В игре трек завершается через Fade Out, здесь же выложили полный его вариант. И это прекрасно!


@музыка: Noriko Mitose - Unstolen Jewel

@темы: Music

19:40

Python

We rise up for the things we believe in over and over again
Неоднократно писал, что я ненавижу питонообразные языки, равно как и сам питон. В большей степени эта ненависть проистекает из их синтаксиса, где операторными скобками являются отступы. Но так уж получается, что придется этот язык ковырять, и ковырять весьма активно. Powershell планомерно будет сдавать позиции по мере роста пресловутого импортозамеса, и там уже кто во что горазд. Питоны, руби всякие, you name it.

Стащил первую попавшуюся книжку, рассчитанную на такого чайника, каким сам и являюсь. Читаю, проверяю то, что написано в тексте. Дохожу до многострочных "строк", и начинаааааааается:


Для непонимающих поясню. В интерактивном сеансе питона было напечатано многострочное значение типа "строка" двумя разными способами - через прямое указание "напечатай мне вот такое" и через переменную, в которой сохранено значение. Казалось бы, результат должен быть одинаковыми, значение ведь одно и то же. Что ж, добро пожаловать в Питон, детка, тут придется проверять буквально всё.

Мне уже страшно, какие подводные камни ждут в дальнейшем, если на самом базовом уровне вылезает подобное...

@музыка: Project Blue Sun - Besame (когда-то она крутилась чуть ли не сутками на автоповторе)

@темы: Этот безумный мир

11:58

Memory...

We rise up for the things we believe in over and over again
Диалог на работе ранним понедельничным утром:

- ... я впервые за несколько лет в субботу в кино ходил.
- Найс. Что за фильм?
- Эээ... не помню. Помню, что там в зале были замечательные пуфики для двоих, да еще и с ширмами.
- Отлично сходил, поздравляю! :)

@музыка: Jeremiah Kane - All or Nothing

@темы: Этот веселый мир

We rise up for the things we believe in over and over again
В нашем кабинете сидят два сотрудника с одинаковыми именами на К. Только один из них - админ, второй - сетевик. И оба из кабинета вышли, каждый по своим делам.

Звонит телефон на столе одного из них. Трубку никто не берет. Подхватывать звонок тоже не торопятся. На удаленной стороне справедливо решили, что общаться с ними не хотят, и положили трубку.

Через пару секунд начинает разрываться телефон у другого К. И вот тут уже остальные обитатели кабинета начали зубоскалить:

- вот будет хохма, если звонит один и тот же.
- ага, только специализации разные у людей.
- да и пофиг. Один черт - что один К., что другой К. - значит должны помочь вне зависимости от проблемы :)


@музыка: клац-клац-клац

@темы: Этот веселый мир

We rise up for the things we believe in over and over again
Рабочий день начался с весьма и весьма прозаичной, зато очень мощной мысли, заполонившей мою голову: Убивать. Насмерть.

Преамбула. Ушел в перезагрузку один из серверов. Ну ушел и ушел, всякое бывает. Проблема в том, что загрузиться он до конца не смог.

Амбула %) Не смог он загрузиться, потому что стоит пароль на загрузку. Ввести его некому, все, кто его знает (в том числе и я) находятся не на данной площадке. Но я по крайней мере туда еду. Прям в транспорте меня и поймали с сообщением, мол, надо бы побыстрее добраться, да посмотреть, чего и как.

Добрался. Посмотрел. Действительно, хотят пароль. Ввел его, после чего влез в местный UEFI, чтобы его отключить. И в пункте меню "Удалить пароль при включении" меня ждало шедевральное!

Я не знаю, кто составлял текст в этом окне, но я уже желаю ему гей-порно на мониторе его рабочего места непрерывно и без возможности отключения. Но тем удолбышам, что при такой подсказке по-дефолту "подсветили" пункт "НЕТ" - я желаю не только того же порно, но флюгегехаймен известно куда под его аккомпанемент.

@музыка: E.S. Posthumus - Nara (как же я давно их не слушал)

@темы: Этот безумный мир

We rise up for the things we believe in over and over again
Когда ты просыпаешься от мяуканья телеграма, в котором лежит сообщение от контакта, молчавшего без всякого преувеличения годами, и в данном сообщении пароль от админки какого-то битриксового сайта - это, знаете ли, МОЩНО! Дальнейший диалог еще мощнее:

- Ять )) Как я в тебя-то попал?)))
- ххх, ты пьян, иди домой)))
- Сам в шоке)
- Бггг :)
- Это все 1С и Битрикс, мать их)
- А я всегда говорил - 1С зло)))
- А я никогда и не сомневался. Но чего не сделаешь ради денег?
- Ооо, да много чего))
- Ыы ))Собственно, звоню коллеге, которому скинул эти доступы:

- Утро доброе!
на том конце провода:
- ...блять....

- АХАХАХАХАХАХ!!!!


Парень ухитрился задать тон на утро не только мне :)

@музыка: Metrik - Inner Child

@темы: Этот веселый мир

We rise up for the things we believe in over and over again
Картинка ниже целиком и полностью соответствует текущему состоянию дел на работе:

- Хм... фонарь красный.
- Где?
- Да вон, напротив.
- Где? я его вообще не вижу?
- Дом напротив видишь? Вон в его окне и горит.
- Блин, я так далеко не вижу. Максимум - вот (показывает на объект метрах в 10-15).
- Чеее? как ты вообще машину водишь?
- Наугад :)
(голос с галерки): - Наощупь! :)

---

- А я, между прочим, шампанское купил.
- Хорош гнать, ты купил вино игристое. Шампанское только в Шампани.
- Нет, я на заводе был, я все видел.
- Что ты видел?
- Как бутылки бродят! :)
- Ага, с топорами по подвалам.

---

- Аааа, срочна, надо ВМ мигрировать! А для этого надо СХД подцепить к хостам!
- Ок, письмо всем заинтересованным.
...
- Аааа, эта машина пока стендовая, а потом в продуктив уйдет!
- Они там белены объелись, что ли?
- Не знаю, но делать надо...
... (почти доделали)
- Аааа, новые вводные по задаче! С машиной ничего делать не надо, но СХД вы все таки подцепите! Вдруг чего...

---

Эх, так и живем... И это только понедельник.

@музыка: клац-клац-клац...

@темы: Этот безумный мир, Этот веселый мир

We rise up for the things we believe in over and over again
В этой записи содержится просто зашкаливающее количество чернейшей НЕНАВИСТИ. И направлена она на две категории людей в метро.

Группа первая - ждуны. Оккупируют на перроне места прямо напротив дверей вагона, но не входят в вагон, если там нет сидячих мест. Вместо этого блокируют сам проход в вагон с таким расчетом, чтобы в следующий состав зайти первыми. И уместить свои седалища на сиденья. Тем же, кто все же хочет поехать на отправляющемся составе, приходится их либо обходить, либо расталкивать коленями и локтями. Сами они свои "боевые посты" покидать не хотят.

Группа вторая - торопыги. Аналогично первым стоят прямо напротив дверей, но не дают выйти из вагона. Вместо этого стараются всеми правдами и неправдами залезть внутрь первыми. И точно так же как и первых, этих приходится порой расталкивать при помощи локтей и пинков.

Если представителей первой группы хочется материть, то вторых... руки так и чешутся убивать на месте. Чтобы остальным неповадно было. И с каждым разом держать себя в руках все сложнее.

Дорогой читатель. Если ты узнал себя в качестве представителя одной из вышеперечисленных групп, у меня огромная просьба: измени свое поведение. Потому что никто не предскажет, когда у меня таки сорвет планку, и не окажемся ли в этот момент мы с тобой лицом к лицу XD

@музыка: Punishing Gray Raven - Structures

@темы: Этот безумный мир

00:41

Glass Cannon

We rise up for the things we believe in over and over again
Эх, похоже, стеклопушки теперь в прошлом. Нынче... ну как, нынче, еще с 2009 года, оказывается, модными считаются... бумажные тигры :)

Самое забавное для меня тут то, что игру-то прохожу уже далеко не в первый раз, но в упор не помню этого свойства. Похоже, что бедному мужику я никогда Pleiades Hi-Powers не давал в руки. Да в общем-то и в принципе я его редко в группу брал с момента получения возможности свободно формировать состав.

Эх, 13-ая финалка, моя любимая. Не первая игра в этой серии. Первой была 8-ая. И если 8-ая - как первая любовь, то 13-ая - любовь настоящая!

@музыка: Final Fantasy XIII OST - Will to Fight

@темы: Этот веселый мир, In-game

We rise up for the things we believe in over and over again

Что-то в последние недели количество записей про Data Protection Manager в единицу времени прямо зашкаливает. Ну а как иначе, если эта зараза подкидывает все новые и новые пляски с бубном. Или без него, как повезет.

Ситуация. Пытаюсь в консоли DPM добавить новый агент. Совершенно рутинная операция, в которой если что-то смогло пойти не так, то это целое событие. Так и случилось - консоль выдала "Ой, у вас нет соединения с контроллерами домена, на которых я могла бы проверить информацию о добавляемом агенте". ШТА?

Домен живой, иначе бы я сейчас занимался не DPM, а разгребал бы кучу заявок от сотрудников о неработающих ресурсах. Соединение с ним есть. Соединение с добавляемым агентом есть. Казалось бы, что случилось? Но тут мой взгляд упал на соседнее окно, в котором уже минут 5 крутится один из моих любимых скриптов - собирает данные по точкам восстановления со всех DPM-серверов разом. Это отдельный вопрос, для чего оно мне нужно при живой консоли, но оно есть, и оно запускается мной каждое утро. Текст самого скрипта не столь важен, но в общих чертах - он гребет из базы данных DPM сведения по всем группам восстановления, после чего в цикле обходит их все, а в них вытаскивает дату последней точки восстановления для каждого элемента группы защиты. Ну и полученные данные уже аккумулируются в csv-отчет.

В общем - пока работает этот скрипт, DPM больше ничего не может делать. Почему блокируется работа с AD - ума не приложу. Хорошо хоть, что на время работы скрипта не прерываются задачи по резервному копированию, это было бы уже совсем за гранью добра и зла.

@музыка: L'Avenue - Business Talk

@темы: DPM

We rise up for the things we believe in over and over again
И сейчас, внезапно, речь пойдет вовсе не о программах или того хуже, операционных системах. Нет, сейчас будет лютейший бугурт в адрес... нашей промышленности.

Да, я отчетливо осознаю, что в меня могут полететь гнилые помидоры с возгласами "да как ты смеешь хаять наше, НАШЕ!!! Тем более в такое время!" И я отвечу - легко и непринужденно. И вот почему. Лютый хейт в адрес продукции 90-х и далее не совсем оправдан, потому что тогда и не умели толком, и образцов не видели, на которых можно было научиться. Но сейчас-то на дворе 21-й век, недавняя открытость во все поля. Уж можно было пресловутых "лучших практик" понабраться. Но нет, в чем-то не набрались, и зря.

Заставила меня нужда поискать скрытую в стенке проводку. Ковырять всю стену для этого - увольте. Есть специальные приборы, есть возможность его приобрести (потом еще может пригодиться). Сказано - сделано, благо лабаз со всеми принадлежностями, какие могут пригодиться при строительстве или ремонте, не так уж далеко, полкилометра. Знакомьтесь - DSL 8220S:

Сразу скажу - свою функцию он выполняет. Пищит. Иногда даже там, где надо, хотя частенько ловит и в полуметре от проводки. Но хотя бы распределительную коробку смог отыскать, а для этого и покупался. Но как же этот девайс меня выбесил. Чем же именно?

1. Рукоятка изменения чувствительности. Не держится на своем месте от слова совсем. Стоит устройство повернуть вверх ногами - валится на землю без всяких вариантов зацепиться за что-нибудь. Почему? Опять пресловутая экономия на спичках?
2. Кнопка включения. Прикол в двух моментах. Момент первый - кнопка безумно тугая. С чем бы сравнить. Да хоть с пультом управления. Возьмите его в руки, надавите пальцем на заднюю крышку. Посильнее надавите. Еще сильнее. Проломили? Поздравляю, вы включили этот девайс. Момент второй - эту кнопку надо держать! Вот реально - ДЕРЖАТЬ ВСЕ ТО ВРЕМЯ, пока вы ползаете по стене и ищете провода, чертыхаясь и матерясь в голос.

Зачем? Почему? Какого хрена все так плохо с банальным удобством для конечного пользователя? Про люфт, скрип и прочее я уж молчу, они тут и вовсе униженно стоят в углу и плачут.

Урановые стержни, центрифуги для ядерной промышленности, что мы там еще производим впереди планеты всей - это все прекрасно. Без обиняков. Доступные экзоскелеты-протезы с потенциалом массового производства - отлично, и тоже без обиняков, это правильно, это нужно. Но почему в других областях мы по-прежнему плетемся в хвосте, несмотря на то, что решения для улучшения продукции прям перед глазами, и даже без какого-то удорожания конечного продукта? Мне сложно это понять. Сомневаюсь, что вообще когда-нибудь смогу это понять.

@музыка: Sandman - Prophecy

@темы: Этот безумный мир

We rise up for the things we believe in over and over again

DPM = Problem. Хотя я не совсем справедлив. В этот раз проблема крылась не в самом DPM, а в другой сущности. Но обо всем по-порядку.

Задача - есть некая база данных, с которой нужно снимать бекап по всем правилам - и полный, и инкрементальный. Полный бекап проходит без проблем, а инкрементальный валится с ошибкой. Причем валится с ошибкой вида Unexpected error. Ну и само собой зубодробительный код 0х800....., по которому в поиске нет ничего.

Начинаем, как и всегда, ковырять логи. Логи сервера говорят о том, что, сюрприз, Logs was backed up. Но при этом у меня нет доступа до СУБД на этом сервере, и логи оттуда я посмотреть не могу. ОК, пинаем нашего DBA. По его словам все замечательно, логи бекапятся, в свойства базы данных в графе Date logs was backed up значится текущая дата. Получается интереснейшая ситуация - бекап проходит, но по каким-то причинам не передается в DPM!

Ок, открываем лог агента DPM этого сервера. И видим там просто прекрасное:

Ключевыми в этой простыне будут следующие сообщения:

Executing SQLQuery RESTORE VERIFYONLY FROM DISK = N'%path_to_ldf%\Backup\Current.log'
Execute of "RESTORE VERIFYONLY FROM DISK = N'%path_to_ldf%\Backup\Current.log'" - Failed
SQL - Detailed Description "CREATE DATABASE permission denied in database 'master'."

Открываем мануал! (с) А в мануале на самом technet сказано, что начиная с SQL 2008 выполнение команды RESTORE VERIFYONLY требует наличия у выполняющего прав CREATE DATABASE, потому что проверка восстановимости из снятого бекапа идет как раз через создание временной таблицы.

Теперь прикидываем. Агент DPM работает от учетной записи Local System. Получается, что сама система не может в себе же базы создавать? В принципе, ничего из ряда вон выходящего, так бывает очень часто. Ладно, кидаем всю накопленную информацию тому самому DBA, он выдает учетной записи NT AUTHORITY\LOCAL SYSTEM право CREATE DATABASE...

И все заработало. Бекапы снимаются, проверяются, передаются в DPM. Всё как и должно быть.

Всегда бы так.

@музыка: E.S. Posthumus - Nara

@темы: DPM

We rise up for the things we believe in over and over again

Недавно я отмечал, что DPM - синоним слова "проблема". Лишний раз убедился в этом, только на этот раз в связке с серверами SQL. Бекапить SQL-базы можно по-разному. Можно сделать полный бекап всего, и делать его раз за разом. Долго, много места. Можно делать полный бекап, а за ним цепочку инкрементов. По времени будет гораздо эффективнее, хотя процедура восстановления будет слегка сложнее, чем просто развернуть полный бекап. Запись немного о другом.

Мониторинг выкинул предупреждение - на SQL-сервере на системном диске кончается место. Посмотрели, реально заканчивается, 15% от всей емкости. При этом ничего нового на серваки не ставилось. Ок, windirstat в зубы и смотрим, куда место ушло. А ушло оно под базу данных. Оставлю вопрос о том, почему база была на системном разделе (сам прекрасно знаю, что так не делается). Смотрим, что там место скушало. Оказалось, распух ldf-файл. Но позвольте, у нас же бекапы настроены. Каждый день эти базы бекапятся, и без ошибок. Значит, логи должы были отсекаться.

И вот тут на сцену выходит DPM:

В терминологии DPM синхронизация - это и есть инкрементальный бекап, во время которого отсекается журнал транзакций. Любой, повторюсь, любой админ настройки синхронизации в этом окне читает следующим образом: мне дают выбор - делать инкрементальный бекап через равные промежутки времени, либо делать каждый раз прямо перед снятием полного бекапа (которым является Express Full Backup, но это в приближенном виде, на практике чуть сложнее). И проблема в том, что на самом деле работает все не так! Ни в одном абзаце документации по DPM не сказано, что если выбрать в данных настройках значение Just before recovery point, DPM не будет делать бекап логов транзакций. Вместо этого он стащит с сервера SQL изменившиеся блоки в файле самой БД, сольет их с репликой на сервере DPM, после чего на основе получившихся данных сделает очередную точку восстановления. Хотите нормальные инкрементальные бекапы - ставьте регулярную синхронизацию через определенные интервалы времени, это единственный вариант.

В сухом остатке проблему с распухшими логами решили так. Сняли полный бекап базы (бекапов много не бывает), затем саму базу перевели на использование модели восстановления Simple. Затем штатная операция Shrink на файле журналов, который тут же ужался до каких-то 4-5 мегабайт. После чего база снова переводится на обычную для нее модель восстановления Full, а в настройках DPM создается новая группа защиты, в которой указана синхронизация каждые 2 часа. После этого создается новая реплика базы, по расписанию проходит синхронизация логов, и вуаля - мониторинг радостно верещит, что проблем с местом больше нет. Ну и в идеале надо бы запланировать перенос базы на другой раздел. Негоже данным болтаться на системном диске.

Уважаемые сотрудники компании MS (хотя что это я, уважением там давно уже не пахнет). До каких пор вы будете плодить в своем хваленом ПО настолько обидные косяки, что просто диву даешься, как ЭТО проходит какой-либо контроль качества. Да ладно, я задам другой вопрос - у вас в принципе QA еще осталось хоть в каком-то виде? Или ваши пресловутые эффективные манагеры разогнали эти отделы окончательно? Вашу же гребаную американскую мать, одумайтесь!

@музыка: Midnight Danger - Terror by Night

@темы: Этот безумный мир, DPM

We rise up for the things we believe in over and over again
С утра идем с коллегой по коридору до нашего кабинета:

- К.! У нас сегодня полно работы...
- Андрюх, ну совесть-то поимей, рабочий день еще не начался, а ты уже наваливаешь. Ладнно, выкладывай, чего там надо будет?
- Как чего? Кластеры.
- Так все стопорнулось на москвичах?
- К., ну ты же сам знаешь, что для того, чтобы заставить москвичей что-то сделать..
(задумчиво) - Андрюха, у на сегодня работы просто дохрена...


@темы: Этот безумный мир, Этот веселый мир

We rise up for the things we believe in over and over again

Вынесенный в заголовок текст об ошибке - это мой личный ночной кошмар. Был. До недавнего времени, когда все же нашелся способ, как реплику файлового ресурса можно "починить" без пересоздания. Довольно долго предполагал, что проблема где-то на стороне самого файловика - и что только с ним не делали. И перезапуск, и проверка прав на черт знает какой глубине каталогов, и миграция файлов туда-сюда... Стопроцентно рабочим вариантом было только пересоздание реплики. Иииии... до следующего раза. А поскольку реплики эти измеряются в терабайтах - процесс очень не быстрый и очень ресурсозатратный.

И вот где-то в апреле мне во время очередного разбора полетов попалась на глаза статья, где предлагалось чинить не сам файловик, а именно реплику. Потому что проблема может быть на ее стороне. DAFUQ?!, подумал я
тогда. Это же реплика, там ничего никогда не делается без ведома самого DPM, какие там могут быть проблемы? С другой стороны - во многих аспектах DPM это синоним слова "проблема", а поскольку других вариантов нет, почему-бы и не попробовать. Тем более, что админам это не стоит ничего, а пользователи вообще ничего не заметят, работа будет проходить на сервере резервного копирования, а не на файловике. Каково же было удивление, когда это сработало. Система, действительно, исправила ошибку внутри тома с репликой, после чего запуск задачи на синхронизацию реплики с источником данных дал нужный результат - Sync OK. Что ж, алгоритм действий был таким:

1. Определяем том, где лежит пораженная реплика. Для этого в DPM открываем свойства источника данных по ссылке Replica Path: Click to view details. Нам покажут окно с примерно следующей информацией:

D:\ on FS1.DOMAIN.COM c:\Program Files\Microsoft System Center 2012 R2\DPM\DPM\Volumes\Replica\File System\vol_48342fb3-5e1f-43b9-b1a3-641aea404c23\8b28e1f0-0e38-4c4c-a1b8-af5881f4a4bf\Full\

Из этого всего нам нужен путь. А если точнее - кусок пути от начала строки до конца сегмента vol_..., в нашем случае это будет выглядеть так:

c:\Program Files\Microsoft System Center 2012 R2\DPM\DPM\Volumes\Replica\File System\vol_48342fb3-5e1f-43b9-b1a3-641aea404c23

Именно по этому пути DPM будет искать реплику при любых операциях с оной.

2. Исходя из найденного пути нужно определить, на каком томе лежит нужная нам реплика. Тут все просто - mountvol. Выводим список всех точек подключения и смотрим, где появится найденный путь. Наша цель - идентификатор тома примерно такого вида:
\\?\Volume{GUID}

3. После того, как найден том с репликой, выполняем проверку этого тома на наличие ошибок и их коррекцию:
chkdsk /f \\?\Volume{GUID}
Процесс займет какое-то время, после чего в результате получаем стандартный вывод команды chkdsk о том, что система нашла проблемы в структуре файлов внутри реплики и исправила их.

4. Финальный шаг - синхронизация отремонтированной реплики с источником данных. Штатная команда самого DPM, расписывать которую здесь смысла нет.

В результате всего этого безобразия получаем рабочую реплику, восстановление работоспособности задач по резервному копированию и заслуженное право сказать "Я сегодня хорошо поработал, могу идти домой".

Однако, есть еще кое-что, чего хотелось бы избежать. Правильно, слишком много ручной работы. А потому пришла мысль обернуть все это (ну или почти все) в powershell-скрипт. На входе он принимает путь к файлам с репликой (все та же строка вида c:\Program Files\Microsoft System Center 2012 R2\DPM\DPM\Volumes\Replica\File System\vol_48342fb3-5e1f-43b9-b1a3-641aea404c23\8b28e1f0-0e38-4c4c-a1b8-af5881f4a4bf\Full\, а на выходе отдаст сообщение:
Use: chkdsk /f \\?\Volume{найденный GUID}

После чего уже запускаем проверку реплики и синхронизацию.

Скрипт ниже. Надеюсь, кому-то он будет полезен.



@музыка: Midnight Danger - The Last Day

@темы: PowerShell, DPM

We rise up for the things we believe in over and over again
Заголовок записи - это название одного из поистине бесценных кусочков моей фонотеки. Ниже я расскажу, почему так, а сама композиция - вот она:


Львиную долю тех чувств, что вызывает прослушивание того или иного трека составляют воспоминания, которые волей-неволей всплывают в мозгу слушателя. И для меня эта композиция является проводником не только в ту игру, откуда она взята - Punishing: Grey Raven. Все гораздо интереснее. Пойдем по порядку:

1. 0:00 - 0:38. Как бы это странно ни было, но первый кусок отсылает меня не вовсе не в PGR, как можно было бы предположить. Нет, здесь мы отправляемся в Deus Ex: Human Revolution, в местный China-town :)

2. 0:39 - 1:51. Эта сам PGR. Много тут не скажешь, это надо просто прочувствовать своими пальцами, когда играешь.

3. 1:52 - 2:28. Ад, боль и унижение. Знатоки сейчас заржут - это Code Vein. А именно бой с Мечницей и Пушкарем. За всю мою игровую жизнь было ровно два случая, когда для успешного прохождения какой-либо арены мне пришлось выключить всю музыку, оставив только те звуковые эффекты, что помогают ориентироваться в пространстве. И именно этот поединок - один из них (про второй я напишу позже в каком-нибудь другом посте). Отвлекать не должно ничто, права на ошибку просто нет, потому что любая оплошность - и тебя тут же огреет мечница, введя в стаггер, после чего прилетит плюха от пушкаря, а это гарантированный полет на местный костер. Дааа, "Орнштейн и Смоуг с Алиэкспресса" ((с) Полезный бес) тогда дали моему персонажу прикурить.
К чему я это все? Единственное и главное ощущение от указанного куска композиции - чувство абсолютно полного сосредоточения на происходящем у тебя перед глазами. Все, что не относится к твоей задаче, просто перестает существовать. Ты и цель, больше ничего. И вариантов исхода всего два - ты либо победил, либо умер.

4. 2:28 - end. Единственная и неповторимая... NiER: Automata. Опять же - знающие поймут, а всем остальным лучше ознакомиться с самой игрой лично. И дело тут вовсе не в пресловутой заднице 2В.

В общем - хорошая композиция, ценная. По крайней мере для меня. Таких крайне мало, но каждая - на вес не то, что золота, но платины.

@музыка: 【Haloweak】傀儡 曲 「Punishing: Gray Raven OST - 九龙夜航」

@темы: Music, In-game