Досвідчені дрібниці-2 або «Що мені робити з усією цією поштою»?

Продовження циклу постів про «досвідчені дрібниці», про нюанси, приклади, скрипти, рішення різних цікавих або рутинних завдань, з якими мені доводилося стикатися за роки роботи windows-адміном.

У пілотному випуску йшлося про завдання «визначити який користувач за яким комп'ютером працює», сьогодні йтиметься про проблему зростання поштових баз і один із способів її вирішення на сервері MS Exchange.

Показ завдання

Суть проблеми була тривіальна - ДУЖЕ ВЕЛИКИЙ ОБСЯГ поштових баз. На той момент це було близько 800 Гб, що лежать на одному сервері (справедливості заради треба сказати, що сервер з навантаженням худо-бідно справлявся, хоча 32-бітність Exchange 2003 йому сильно в цьому заважала).

Специфіка роботи компанії накладала ось які обмеження:

  • переважній більшості користувачів необхідний доступ до їх старих листів, бажано у відсортованому ними вигляді (контрагенти, міста, розмір бородавок на носі та інші суб'єктивні критерії)
  • керівництво пристрасно бажало мати можливість відновити пошту своїх співробітників, якщо її випадково/невипадково видалили, нехай навіть жорстко і «без можливості відновлення», якщо зламався комп'ютер тощо.
  • адмінам хотілося щоб бекап пошти не ворочався як вагітний слон по 30-40 годин, а міг виконуватися хоча б за ніч
  • збереження даних, захист від видалення, була найважливіше, керівництво панічно боялося втратити «що небудь важливе».
  • У компанії працював MS Exchange 2003 і Outlook 2003. Вже був куплений, але з різних причин не впроваджений MS Exchange 2007, внаслідок чого розмова про апгрейд до 2010 був зустрінутий дружним нерозумінням і повним небажанням витрачати цілком собі чималенькі гроші.

Месьє знає толк в збоченнях, або варіанти рішення

Стратегічно вирішення проблеми було загалом зрозуміло - потрібно вводити квоти на поштові скриньки (можна диференційовано залежно від відділу, потреб користувача тощо) і переносити старі листи в архіви. Все питання було в тому, як це краще (для адмінів) і зручніше (для користувачів) зробити. Варіантів було кілька, їх я і почав відпрацьовувати «на кішечках».

  • Найпростішим було банально змусити всіх видаляти стару пошту, мотивуючи це тим, що поштовий клієнт не для зберігання даних, а для оперативного листування. А в разі необхідності - діставати потрібні листи з бекапів. Відразу стало зрозуміло що метод - безперспективний, мовляв, він був зустрінутий агресивним нерозумінням з боку всіх користувачів, включаючи керівництво, так ще й процес витягування з бекапу був неймовірно муторним і довгим, а ситуація коли людині ДУЖЕ ТЕРМІНОВО потрібен його архів за 2006 рік, була не так вже й рідкісна.
  • Відкинувши перший порив, я банально злив всі старі листи в локальні PST і налаштував автоархівацію засобами Outlook. Мінусів вийшло більше ніж плюсів: пошта лежала на робочих станціях, була незахищена від згорілого HDD і архіви не можна було подивитися зайшовши через WEB-інтерфейс (давати всім-всім віддалений RDP-доступ на свої компи не дозволяв відділ РБ, і на мій погляд правильно робив).
  • Потім я повозився зі скриптом «раз на тиждень обходити компи за списком і зливати PST в папку на сервері» - було весело, навозився вдосталь, особливо з хитромудрим Outlook, який у відкритому стані ТАК блокує PST файл, що скопіювати його не можна ніяк, поки Outlook не закриється.
  • Наступним логічним кроком було перенесення PST-архівів в централізоване сховище, в мережу. Тут почалися проблеми з тим, що якщо в момент відкриття\роботи\закриття Outlook мережа обривалася, то користувач отримував 50% шанс при наступному відкритті отримати віконце «йде перевірка неправильно закритого PST», яке могло висіти від 5 хвилин до години, залежно від розмірів PST. І навіть якщо закрити на все це очі, все одно не знаходилося способу дати людям працювати з архівами віддалено.

Що вийшло в підсумку.

Нарешті я згадав про закон винахідника велосипеда, і вирішив вручну повторити те, що і так вже зробили, але в зв'язці Exchange 2010 - Outlook 2010 (тим хто не в курсі рекомендую почитати документацію, такий функціонал, як архівні скриньки з'явився в цій версії Exchange, і, за відгуками знайомих, досить непогано працює). У підсумку вийшло ось що:

  1. Першо-напершо мігрував на Exchange 2007, якщо вже є така можливість - гріх упускати. Окремо повозившись налаштував OWA через ISA. Стало трохи легше, оскільки 2007 64-бітний і розуміє толк в «багато-багато оперативної пам'яті», вже чого-чого, а цього добра я ніколи для серверів не шкодував.
  2. для кожного користувача, який не влазив у зумовлену квоту, був створений фантомний користувач "Архів username" "з альясомusername, і у нього відповідно також була поштова скринька. Для різноманітності я зробив їх всіх Equipment type, щоб можна було надалі гарантовано відрізняти від звичайних, робочих. Відповідно були роздані права, щоб звичайний користувач мав повний доступ до скриньки свого «фантома»
  3. Всіх фантомів приховав з Global Address List, «для порядку», і згрупував в окремі Database в Storage group, де включений Circullar logging і які лежать на великому-великому RAID розділі.
  4. У цій же Storage Group також знаходилися т. зв. ящики РБ, куди зливалося журналування особливо важливих користувачів.
  5. Кожному користувачеві саппорт підключив його фантомного колегу в Outlook, і перекачали у фантомну скриньку всю пошту, яка потрапляла під критерій архівної.
  6. Будь-хто у кого є архів, тепер може віддалено, через OWA спокійно в ньому покопатися, з цього приводу написана невелика інструкція для особливо незрозумілих.
  7. Розмір «оперативних» баз Exchange, тих які ворочаються кожен день, і бекапляться 3 рази на тиждень зменшився до прийнятних 200 Гб
  8. Архівні бази бекапляться рідше, разом зі скриньками РБ, раз на тиждень, на вихідних. За часом встигаємо чудово (а після оновлення версії бекап-сервера взагалі стали робити повний бекап всієї пошти за 25 годин).

Мінусом придуманого стало те, що в архів переносити листи користувачеві доводиться руками (на відміну наприклад від зв'язки Exchange 2010 - Outlook 2010, де це можна налаштувати автоматично), орієнтуючись за повідомленнями Exchange про досягнення порогу квоти. Але з іншого боку це стало навіть і плюсом, оскільки при ручному перенесенні користувачі якраз і сортують свою пошту так, як вважають за потрібне, за ним одним тільки відомим критеріям.

Продовження слідує.

logo