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















