- Remove From My Forums
-
Вопрос
-
По умолчанию папка Users находится на системном диске. На системном диске эта папка начала мешать.
Пользователи забивают свои профили мусором — системный диск не резиновый. Работа пользователей начинает мешать ОС. Пользователи терминальных сессий активно работают, а в это время ОС не может нормально работать со своим pagefile.
Как правильно перенести папку Users на другой, не системный диск? Также, новые пользователи сразу должны получать профили в переадресованной папке, а не на системном диске.
Ответы
-
Просьба к модераторам форума.
Закройте обсуждение. Текущее обсуждение и заголовок обсуждения уже не соответствуют друг другу.
Причина по которой я начал обсуждение была потеря производительности 1C v8 при работе под Windows 2008 R2. Первое впечатление было — 1С v8 производит огромное количество операций с системным диском.
Перенос pagefile.sys с системного диска (физического) на другой физический диск уменьшил потерю производительности 1С v8 примерно на 20%. После «хитрых» операций удалось перенести профиль пользователя с системного диска (Microsoft
сообщает, что это возможно, но только в тестовых целях). Производительность 1С v8 поднялась ещё примерно на 20%. Поэтому потеря производительности 1С v8 более чем в 10 раз, врядли связана с расположением временных папок пользователя.-
Помечено в качестве ответа
29 июня 2010 г. 5:47
-
Помечено в качестве ответа
Вот же ты гнида! Ну кто тебя спрашивает то? Не суй свой нос в дела взрослых баран. Ненавижу таких правильных как ты — шестёрка!!!
Ситуация 1. Переносим профили на другой сервер.
Можно сделать через групповые политики и перемещаемые профили, но проще всего перенести ветку реестра:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionProfileList
и папки пользователей копированием.
Ситуация 2. Переносим профили на другой диск.
Зачем это надо? Для терминального сервера. За несколько лет размер занятого пространства диска C: (загрузочного раздела) может вырасти до сотен гигабайт и возникнут проблемы с резервным копированием, как это получилось у меня. Расчищая диск C: сразу увидел, что профили занимают больше 100GB. И квоты в общем-то тут не решат ситуацию, если квоты вообще допустимы для данной организации. Если пользователи работают с тонких клиентов и терминальный сервер получается единственным местом для хранения их информации, то объём этой информации будет расти и расти.
Кроме этого перенос профилей логически обоснован — для файлов профилей нужно индексирование поиска и теневые копии, для системных файлов индексирование не нужно, теневые копии.. даже не могу представить в какой ситуации это может быть востребовано. Для папок профилей бекап желателен, для загрузочного раздела — бекап необходим и большой суммарный объём профилей на этом же разделе сильно мешает, как уже говорил выше.
Первый вариант
Если система только-только установлена меняем значение ProfilesDirectory — «%SystemDrive%Users» на новое расположение, в ветке реестра:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionProfileList
профиль Администратора останется на старом месте, новые уже будут созданы по новому пути. Этого вполне достаточно. Однако при таком методе возможны проблемы при обновлении системы в дальнейшем.
Второй вариант
Другой вариант когда система относительно свежая, но уже есть пользователи и программы. В этом случае некоторые программы, например MS Office, прописали абсолютные пути к профилям на диске C:. Тогда лучше переместить все профили скриптом и создать символическую ссылку папки Users на новое месторасположение, загрузившись с установочного диска в командную строку:
robocopy C:Users D:Users /E /COPYALL /XJ rmdir C:Users /S /Q mklink /D C:Users D:Users
если в указании пути будет пробел, то нужно заключить путь в кавычки. Можно дополнить ключом перезагрузки:
Shutdown -r -f -t 00
и пойти пить чай.
В реестре при этом менять ничего не надо и в этом большой плюс этого метода — система «думает», что все по прежнему на диске C:/ и корректно работает через символическую ссылку. Проверить можно набив путь к профилю пользователя как C:Users»какой-то пользователь» и откроется он именно как C:Users….., а не как D:Users…. (при переносе на D).
Установка разрешений
После переноса папок профилей для каждой из них нужно обязательно отключить наследование разрешений и поменять разрешения безопасности на следующие:
- System — Полный доступ;
- Administrators — Полный доступ;
- Учётка пользователя — Полный доступ;
- Больше ничего быть не должно.
Для самой папки Users разрешения следующие:
- System — Полный доступ;
- Administrators — Полный доступ;
- Users — Чтение/Выполнение;
- Все — Чтение/Выполнение.
То есть для корректной работы системы все разрешения в новом расположении должны соответствовать разрешениям, какие были на диске C:. Это важно.
Если же система довольно старая, профили по несколько гигабайт, пользоваться скриптом не рекомендую, лучше делать руками и не копировать, а перемещать, контролируя начальный размер папки профиля и размер перенесенного. В этом случае, это понятно и очевидно, ссылку для всей папки C:/Users создать нельзя, так как в ней есть открытые файлы нашего текущего профиля. Профили переносятся отдельно. Ссылка создаётся для каждого профиля отдельно. Свой профиль либо можно оставить и не переносить, либо перенести, временно создав второго админа. Создать, залогиниться под ним, перенести свой профиль, создать ссылку, установить разрешения, разлогиниться, зайти под собой, убить второго админа.
Одно замечание — при создании символических ссылок сразу проверяйте их работоспособность. Особенно когда ссылок создается сразу много.
Решение проблем
Возможные проблемы при копировании/переносе заключается в отсутствии доступа к какому-либо файлу:
- Нет прав на каталог;
- Блокировка файла процессом;
- Невозможность удаления файла.
Если нет прав на каталог, тогда нужно стать владельцем контейнера и входящих в него объектов:
затем добавить себе полные права на контейнер и заменить наследуемые разрешения для потомков. После этого можно переносить/удалять.
Если блокировка процессом, тогда рекомендую программу Unlocker — много вирусов под видом этой программы. Попробуйте вот эту версию, должна быть без вирусов.
Невозможность удаления файла проявляется в основном файлами нулевого размера с точкой в конце имени файла. При попытке удаления появляется ошибка:
В этой ситуации отлично помогает Far Manager, находите файл и нажимаете Alt-Del, затем кнопку «Wipe».
Все изложенное опробовано в «боевых условиях» продакшена. Пока «полет нормальный», если возникнет ещё что-то, тогда напишу дополнение.
Дополнение от 14.06.2016
Оказалось, что если диск с символической ссылкой, созданной с ключом /D, открыт как сетевой на другом компьютере, то переход по данной ссылке заканчивается ошибкой: — «Символическая ссылка не может быть загружена, так как её тип отключен». Для устранения данной ошибки ссылку нужно пересоздать с ключом /J (junction).
Дополнение от 15.06.2016
Папка Users на диске C:/ была заменена символической ссылкой на другой диск, при этом в реестре ничего не менялось. Обновление с Windows 2008 до 2008 R2 прошло успешно. Установка заменила символическую ссылку на папку и создала в ней дефолтные профили всех пользователей. После установки удалил данную папку и пересоздал ссылку.
Задача: Перенести профили и папки сотрудников с одного сервера на другой
У меня на работе что-то стал тупить сервер (физический S5000VSA, 2 sockets Intel Xeon CPU E6405 2.00Ghz, 4Gb RAM
) на котором располагаются профили и перемещаемые папки пользователей. Вот просто так система подвисала и ничего с ней делать нельзя было, но проходило какое-то время и как ни в чем не бывало. Но вот у пользователей в связи с использованием перемещаемых профилей и папок "Мои документы", "Рабочий стол", "Application Data"
происходило повисание программ, с которыми они работают, отваливается рабочий стол и ничего сделать нельзя, проходит какое-то время и все возвращается к работе как ни в чем не бывало. Перво-наперво был проверено состояние RAID
контроллера через утилиту MegaRAID Storage Manager
. RAID
массив в оптимальном состоянии, ошибок нет. Удалены оставшиеся от предыдущего системного администратора зачем-то развернутые роли, не относящиеся к работе. Такое ощущение, что он учился на боевом окружении. Нагрузки по памяти, по сети нет. Предварительно с него были вынесены LUN
где располагались "Почтовые архивы пользователей"
, LUN
с дистрибутивами, LUN
где располагался "Консультант+"
. Но все это ни к чему не привело, по данным анализа за сетевыми интерфейсами через Zabbix
, мы сетевую пропускную способность линка 1Gbps
даже и близко не использовали.
Поэтому я принял решение, что нужно на новом сервере развернуть VM
и перенести на него: Профили
Шаг №1:
Разворачиваю виртуальную машину на ESXi 6.7.0
и именую ее как srv-shares02
(текущий srv-shares01
), ось использую Windows Server 2012 R2 Std.
Шаг №2:
Создаю каталог на srv-shares02
где будут размещаться профили с соответствующими правами доступа:
Ниже какие права делаю я:
C:Windowssystem32>net share Profiles=D:Profiles /GRANT:«Authenticated Users»,FULL C:Windowssystem32>icacls D:Profiles /inheritance:d C:Windowssystem32>icacls D:Profiles /remove «Users» /T C:Windowssystem32>icacls D:Profiles /grant «CREATOR OWNER»:(OI)(CI)(IO)(F) C:Windowssystem32>icacls D:Profiles /grant «NT AUTHORITYAuthenticated Users»:(OI)(CI)(RX) C:Windowssystem32>icacls D:Profiles /grant «NT AUTHORITYSYSTEM»:(OI)(CI)(F) C:Windowssystem32>icacls D:Profiles /grant «POLYGONekzorchik»:(OI)(CI)(F) C:Windowssystem32>icacls D:Profiles /grant «BUILTINAdministrators»:(OI)(CI)(F) |
Шаг №3:
Я использую DFS
как доступ к сетевым ресурсам, у меня есть дефолтные пути, в которые я добавляю:
\polygon.localUsers
Archives – почтовые архивы, где путь до сервера \srv-cons.polygon.localArchives
Documents – общий диск, \srv-shares01.polygon.localDocuments
Forwarded folders – перемещаемые папки, \srv-shares01.polygon.localForwarded folders
Profiles – профили, \srv-shares01.polygon.localProfiles
Создаю каталог
Profiles2 - \srv-shares02.polygon.localProfiles
Шаг №4:
У каждой доменной учетной записи (к примеру, alektest4
) в свойствах прописан на вкладке Profile
(User profile)
Profile path: \polygon.localUsersProfilesalektest4
Шаг №5:
Перехожу к процедуре переноса профилей в домене для пользователей, которые отделены у меня контейнером Office Users
. Действия ниже проделываем вручную с srv-shares01
На компьютере пользователя выполняем Logoff
или лучше выключаем компьютер
В свойствах учетной записи в домене во вкладке Profile
меняем путь:
Profile path: на \polygon.localusersProfiles2alektest4
Затем на srv-shares01
запускаю консоль командной строки с правами администратора и переношу профиль пользователя с srv-shares01
C:Windowssystem32>robocopy D:SharesUsersProfilesalektest4.V6 «\polygon.localusersProfiles2alektest4.V6» /J /E /COPYALL /Z /R:3 |
На заметку: имя alektest4.V6
– это профиль на Windows 10 Pro
, если имя alektest4.V2
– это профиль Windows 8.
После завершения копирования, включаем компьютер пользователя и авторизуемся под пользователем (он может сделать это сам) и его профиль теперь на другом сервере и считается успешно перенесенным.
Шаг №6:
Теперь проработаю шаги по перемещению папок пользователя (все пользователя в OU=Office Users
), это:
AppData(Roaming): \polygon.localusersForwarded folders%USERNAME%Application Data
Desktop: \polygon.localusersForwarded folders%USERNAME%Desktop
Documents: \polygon.localusersForwarded folders%USERNAME%My Documents
У меня есть GPO
которая была: GPO_Office_Users_Policy
User Configuration – Policies – Windows Settings – Folder Redirection
– и через правый клик на AppData (Roaming)
открываю свойства
Setting: Basic – Redirect everyone’s folder to the same location
Target folder location: Redirect to the following location
Root Path: \polygon.localusersForwarded folders%USERNAME%Application Data
И для других папок по аналогии.
Также в этой политике предопределены доверенные сайты
User Configuration – Policies – Administrative Templates – Windows Components – Internet Explorer – Internet Control Panel – Security Page –
Site to Zone Assignment List: Enabled
Value name: *.gs.service.nalog.ru
Value: 2
И многие сайты *.sberbank.ru,*.service.nalog.ru
-
Value name: \polygon.local
Value: 1
В этой политики ограничение распространения стоит: OU=Office Users
, а Scope: Authenticated Users
Через вкладку Delegation – Advanced
добавляю созданную под это дело (перемещение) группу: GRP_GPO_Office_Users_Policy_Deny
где права выставляю, как Deny (Apply group policy)
Шаг №7:
Создаю дубль такой политики выше, именую ее как: GPO_Office_Users_Forward
В этой политики ограничение распространения стоит: OU=Office Users
, а Scope:
указываю группу GRP_GPO_Office_Users_Forward
Шаг №8:
Создаю каталог на srv-shares02
где будут располагаться перемещаемые папки пользователя:
C:Windowssystem32>net share users=«D:Forwarded folders» /GRANT:«Authenticated Users»,FULL C:Windowssystem32>icacls «D:Forwarded folders» /inheritance:d C:Windowssystem32>icacls «D:Forwarded folders» /remove «Users» /T C:Windowssystem32>icacls «D:Forwarded folders» /grant «CREATOR OWNER»:(OI)(CI)(IO)(F) C:Windowssystem32>icacls «D:Forwarded folders» /grant «NT AUTHORITYAuthenticated Users»:(OI)(CI)(RX) C:Windowssystem32>icacls «D:Forwarded folders» /grant «NT AUTHORITYSYSTEM»:(OI)(CI)(F) C:Windowssystem32>icacls «D:Forwarded folders» /grant «POLYGONekzorchik»:(OI)(CI)(F) C:Windowssystem32>icacls «D:Forwarded folders» /grant «BUILTINAdministrators»:(OI)(CI)(F) |
Шаг №9:
Создаю новый путь в DFS:
\polygon.localUsersForwarded folder 2 - \srv-shares02users
Шаг №10:
Итого текущая последовательность действия по перемещению папок пользователя:
1) Выходим на компьютере где пользователь или выключаем его компьютер
2) Учетную запись пользователя папки которого перемещаем включаем в группы:
GRP_GPO_Office_Users_Forward
GRP_GPO_Office_Users_Policy_Deny
3) на srv-shares01
запускаем консоль командной строки
robocopy «\srv-shares01Forwarded foldersalektest4» «\srv-shares02usersalektest4» /J /E /COPYALL /Z /R:3 |
4) Авторизуемся на компьютере
Проверяем работу всех программ или ждем покуда пользователь начнет жаловаться, обычно это в какие-либо программах нужно поменять путь.
На заметку: Важно не переносите перемещаемые папки пользователей в рабочее время, т.к. просадите скорость доступа к основному серверу, у меня было так.
Итого я практически разобрал, как успешно мигрировать профили пользователей и перемещаемые папки на другой сервер. Теперь после рабочего дня или в выходные данная миграция будет выполнена, а мне как бонус более стабильная работа и оплата переработок.
На этом у меня все, с уважением автор блога Олло Александр
Email: support@ekzorchik.ru
Telegram: @aka_ekzorchik