Есть сервер Windows 2000, конфигурация:
2хPIII-700, 1Gb ECC, 3xSCSI x 18Gb (2 Quantum + 1 IBM), Чипсет - 440GX+, если не ошибаюсь...
Установлено:
Windows 2K, SP4 + Security Fixes от Windows Update
AD,DNS,WINS,DHCP
Terminal Server (Administrative Mode)
Exchange 2K SP3 + McAfee for Exchange
IIS (HTTP+NNTP+SMTP)
Winroute PRO 4.1
Squid for NT 2.3 STABLE
1C:8.0
1C:7.7
1C:Архив
Немного поковыряно кривыми ручками в настройках DCOM и ComponentServices -> IIS Out-Of-Process Pooled Application (для работы грёбаного 1С:WebРасширения)
Суть проблемы:
Диск C: - 3Gb, NTFS, на софтовом зеркале о двух квантумах
Свободное место (по свойствам диска, и по Ctrl-L в Far'е) - около 500 мегабайт.
При попытке что-либо написать на диск - "Disk is Full".
Chkdsk /F - не помогает, Defrag - тоже
Если что-нибудь с диска удалить - можно записать еще немного.
Количество свободного места, на котором происходит затык, может незначительно меняться, но всегда сохраняется в районе 500+-10 мегабайт.
На других дисках всё в порядке!
Сначала грешил на своп: стояло свопить на С:, Inital Size: 1GB, Maximum - 1,5GB - думал, что эти мифические 500Mb зарезервированы для раздувания свопа... . После переноса свопа (полностью) на другой диск с (с указанием жестких размеров) проблема перестала быть такой насущной, но всё-равно сохраняется - если сгенерировать на C: файлик размером 1Gb, то происходит такой-же затык с оставшимися 500 мегабайтами.
Кто еще может так гадить? На установку и настройку всего этого барахла затрачено двое суток, переставить всё заново к началу "рабочего года" уже не успеваем :(
Тут уже проскочило предположение13.01.04 01:35 Автор: amirul <Serge> Статус: The Elderman
Может на этот винт для юзера текущего каким то макаром поставилась квота на максимальный размер места юзаемого файлами этого юзера. NTFS5 это позволяет. Может еще гдето в файлопоток на какой нить файл записано полгига а винда этого не видит.
квотирование и показало бы отсутствие места, т.е., что пустого места "0" (а оно 500mb кажет) разве что в сочетании с глюком12.01.04 23:39 Автор: Deviator <n/a> Статус: Member
DriverCache и DllCache - в сумме меньше 200 метров. Унос DriverCache на другой диск на "лимите" не сказался. С DllCache пока не экспериментировал - такие пляски лучше выполнять ночью, когда неожиданное повисание сервака никого особо не обидит.
SfcDisable пробовать как-то не хочется... но если других идей не будет - придется попробовать. Надеюсь, Norton Ghost меня спасет, если что :)
Hibernate не используется, своп уехал на другие разделы...
Банально..12.01.04 06:50 Автор: DimSys <Dmitriy J. Sourinoff> Статус: Member
> Я дико извиняюсь, но проверь свойства корзины. Винда > резервирует пространство для нее. ИМХО твои 500 мегов > именно для корзины и зарезервированы.
Корзина уже отключена.
Была, конечно, такая мысль - но проверка на калькуляторе показала, что по имеющимся на тот момент установкам размер корзины должен был быть около 150 метров, но никак не 500. Отключение "Корзинирования" ничего не изменило :(
Тогда порой софт.. В смысле резервирования пространства...12.01.04 11:24 Автор: DimSys <Dmitriy J. Sourinoff> Статус: Member
> Тогда порой софт.. В смысле резервирования пространства.. > Что-то подобное было.. Но не помню.. Какой-то софт явно > резервирует пространство.. Про Виндовс точно не знаю... Предположим, какая-нибудь активная программа создает жирный файл (временный) и пишет туда дофига всего. Имя файла в каталоге появится, размер (в атрибутах) будет нулевой покак файл не закроется, кластеры распределятся/зарезервируются (как занятые) естественно, ос не будет репортировать об уменьшении свободного места пока файл не закроется, чтобы не корректировать слишком часто и зря не загружаться, поскольку в течение одной секунды десятки и сотни файлов могут менять свой размер (реальный), и место на диске может меняться несколько сот/тысячь раз в секунду.
Как вариант. Винды могут не пересчитывать свободное пространство по распределенным кластерам (долго), а просто хранить где-нибудь в системной области. Знатоки ФС Виндов, подтвердите или опровергните предположение.
Re: Любой...13.01.04 12:37 Автор: Den <Денис Т.> Статус: The Elderman
> Как вариант. Винды могут не пересчитывать свободное > пространство по распределенным кластерам (долго), а просто > хранить где-нибудь в системной области. Знатоки ФС Виндов, > подтвердите или опровергните предположение. Про 2k точно знаю, что она не пересчитывает свободное место, а хранит его именно где-то и калькулирует только добавления и удаления. Возможно это закон для NTFS.
В связи с этим есть предположение, что некоторое пространство неучтенно (возможно из-за ошибок в софте организации RAID'а) уходит под организацию или синхронизацию зеркала, а так как софт RAID'а работает за драйвером NTFS, то последний не может знать об отсутствии свободного места в массиве, занятого драйвером RAID'а. В таком случае ошибку о недостатке места инициирует не NTFS, а RAID.
> > Тогда порой софт.. В смысле резервирования > пространства.. > > Что-то подобное было.. Но не помню.. Какой-то софт > явно > > резервирует пространство.. > Про Виндовс точно не знаю... Предположим, какая-нибудь > активная программа создает жирный файл (временный) и пишет > туда дофига всего. Имя файла в каталоге появится, размер (в > атрибутах) будет нулевой покак файл не закроется, кластеры > распределятся/зарезервируются (как занятые) естественно, ос > не будет репортировать об уменьшении свободного места пока > файл не закроется, чтобы не корректировать слишком часто и > зря не загружаться, поскольку в течение одной секунды > десятки и сотни файлов могут менять свой размер (реальный), > и место на диске может меняться несколько сот/тысячь раз в > секунду. > Как вариант. Винды могут не пересчитывать свободное > пространство по распределенным кластерам (долго), а просто > хранить где-нибудь в системной области. Знатоки ФС Виндов, > подтвердите или опровергните предположение.
Так может действовать 1c:8.0. Она хранит все скопом и конфигурацию и все таблицы с данными в одном файле...
ntfsinfo от Руссиновича рапортует о наличии свободных...12.01.04 18:31 Автор: Kuzmich Статус: Незарегистрированный пользователь
> > Про Виндовс точно не знаю... Предположим, какая-нибудь > > активная программа создает жирный файл (временный) и > пишет > > туда дофига всего. Имя файла в каталоге появится, > размер (в > > атрибутах) будет нулевой покак файл не закроется, > кластеры > > распределятся/зарезервируются (как занятые)
ntfsinfo от Руссиновича рапортует о наличии свободных кластеров
> естественно, ос > > не будет репортировать об уменьшении свободного места > пока > > файл не закроется, чтобы не корректировать слишком > часто и
Ну за час-то должно скорректироваться?
Произведен опыт:
MSVC 6.0
while(1) { fwrite(buf,1,1024,fp); }
Свободное место в процессе работы данного цикла вполне шустро уменьшается... на той же системе, на том-же диске... пока не дойдет до 500-метрового "упора". Правда, размер файла при этом не остается нулевым... Щас еще какой-нибудь тест придумаем...
P.S. Глюк спокойно переживает перезагрузку. При следующей перезагрузке попробую из Safe Mode что-нибудь позаписывать...
> > Как вариант. Винды могут не пересчитывать свободное > > пространство по распределенным кластерам (долго), а > просто > > хранить где-нибудь в системной области.
chkdsk /F с перезагрузкой, Defrag... кроме того, количество свободных кластеров по ntfsinfo, помноженное на 4К, совпадает с размеров свободного места, рапортуемого виндой. (Впрочем, возможно один из этих счетчиков вычисляется "на ходу" по значению второго). Defrag на "карте" тоже рисует кучу свободных кластеров, и что-то через них гоняет без ущерба для жизнедеятельности всего остального...
> > Так может действовать 1c:8.0. Она хранит все скопом и > конфигурацию и все таблицы с данными в одном файле...
Ни одной конфигурации еще не добавлено :) 1C-никам пока не до восьмерки.
Как результат SafeMode?13.01.04 10:48 Автор: whiletrue <Роман> Статус: Elderman
Итак, что было сделано:
sfc /purgecache
chkdsk c: /F
перезагрузка в SafeMode
попытка "зафлудить" диск... о чудо, прошли рубеж... #$@ всего на 20 мегов...
chkdsk c:
bla-bla-bla
ошибки в индексах, дальше не могу, давайте /F
chkdsk c: /F
перезагрузка в Normal
chkdsk c:
bla-bla-bla
что-то вроде: Error in MFT: $BITMAP Field - free clusters marked as used
chkdsk c: /F
перезгрузка в "Normal"
chkdsk c:
bla-bla-bla, All Right.
проверяем рубеж - 472 мегабайта.
Полтора часа перезагрузок, в результате 20 мегабайт в плюсе...