Get-MailboxDatabaseCopyStatus: «Status.value__» to «Status»

Понадобилось для мониторинга баз. Не все, но наиболее распространенные значения. Взято с MSExchange 2010

 
 
  1. Get-MailboxDatabaseCopyStatus -Identity * | ForEach-Object {$_.Status.value__}
  2. Get-MailboxDatabaseCopyStatus -Identity * | ForEach-Object {$_.Status}
 
 
  1. 3 ⇒ Failed
  2. 6 ⇒ Healthy
  3. 7 ⇒ ServiceDown
  4. 8 ⇒ Initializing
  5. 9 ⇒ Resynchronizing
  6. 11 ⇒ Mounted
  7. 12 ⇒ Dismounted
  8. 13 ⇒ Mounting
  9. 15 ⇒ DisconnectedAndHealthy
  10. 16 ⇒ FailedAndSuspended
  11. 17 ⇒ DisconnectedAndResynchronizing

Как отредактировать текстовый файл на 40Gb??

Поимел тут дамп базы данных — текстовик на 40 гигов.

Для понимания проблемы: дамп состоит из двух основных блоков
[блок команд создания таблиц]
[блок команд вставки строк]

Первый блок небольшой, на 150 строк. Второй – все остальные гиги, которые выглядят как

 
 
  1. INSERT INTO tablename VALUES (val1, val2… valN);
  2. INSERT INTO tablename VALUES (val1, val2… valN);
  3. ...
  4. INSERT INTO tablename VALUES (val1, val2… valN);

Импортируется обычно все командой

 
 
  1. cat dump.sql | mysql basename

то есть файл просто читается в пайп и mysql выполняет команды из него.

И в чем подстава.
Во-первых у дампа в начале не хватало пары команд — это выяснилось сразу при попытке импорта и легко выгуглилось. Во-вторых — в блоке импорта строк, ВО ВСЕХ строках отсутствовало начало: «INSERT INTO tablename VALUES»

Я не нашел такой чудо-редактор, который смог бы на редактирование хотя бы открыть этот мегадамп, поэтому к сути.

Сделал два вспомогательных файла:
1.sql – с недостающими командами,
2.sql – с первыми 150 строками, которые про создание таблиц, и первым недостающим «INSERT INTO tablename VALUES» — для начала блока импорта — который я добавил вручную.

Свел задачу к:
— как бы в один поток прочитать сначала эти два файла,
— а потом третий – только в нем пропустить первые строки, а во оставшихся — заменять концы строк с «);» на «); INSERT INTO tablename VALUES», чтобы каждая новая строка начиналась с корректной команды,
— и все это точно также запихать в пайп и отдать mysql.

Оказывается есть такая магия!

 
 
  1. {cat 1.sql 2.sql; sed -n -e 's/);/); INSERT INTO tablename VALUES /g;151,$ p' dump.sql;} | mysql basename
 
 
  1. конструкция команд внутри {} дает общий вывод, который можно направить в пайп и в mysql.
  2. cat 1.sql 2.sql - просто читает два файла подряд
  3. чтение основного файла отдаем седу, с двумя его командами
  4. sed -n -e 's/);/); INSERT INTO tablename VALUES /g;152,$ p' dump.sql;
  5. здесь      ^-- меняем ";)" на "); INSERT..."   --^ ^-- --^ - выводим файл со 151 строки

SimpliVity VM Data Access Not Optimized

Долго не мог понять почему возникает сабжевая ошибка. В норме, при включенном vSphere DRS виртуальные машины должны автоматически перекидываться на хосты, на которых непосредственно лежат их файлы (если точнее, симпливити дублирует каждую виртуалку, так чтобы 2 хоста имели полный локальный доступ к ней). В моем же случае виртуалки балансировались классически — по загруженности хостов, то есть vmotion работал, но по какой-то причине игнорировал симпливитийную привязку к хранилищу.

Оказалось, причина была в установленной галке «For availability, distribute a more even number of virtual machines across hosts» в настройках vSphere DRS. Вероятно задача равномерного распределения оказалась приоритетнее и полностью отрубила балансировку по доступу к хранилищу. Вывод: если возникла подобная проблема — стоит начать с того чтобы выставить дефолтные настройки DRS

Также могу порекомендовать цикл постов о принципах работы Simplivity:

 

How Virtual Machine data is stored and managed within a HPE SimpliVity Cluster – Part 1 – Data creation and storage

How Virtual Machine data is stored and managed within a HPE SimpliVity Cluster – Part 2 – Automatic Management

How Virtual Machine data is stored and managed within a HPE SimpliVity Cluster – Part 3 – Provisioning Options

How Virtual Machine data is stored and managed within a HPE SimpliVity Cluster – Part 4 – Automatic capacity management

How Virtual Machine data is stored and managed within a HPE SimpliVity Cluster – Part 5 -Analyzing Cluster Utilization

How Virtual Machine data is stored and managed within a HPE SimpliVity Cluster – Part 6 – Calculating backup capacity