Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  программы
  почтовые системы
  Шелезяки
  Мелочи
  Файловая система
  mount_nullfs
  badsect
  clri
  bsdlabel
  dump (rdump)
  dumpfs
  ffsinfo
  fsirand
  mount_nfs
  mount_smbfs
  swapon
  tunefs
  umount
  recovery files
  growfs
  Pax
  clonehdd
  Мониторинг RAID
  gstripe
  fusefs-ntfs
  UFS->ZFS
  RAID5
  freebsd lvm
  root ZFS, GPT
  FreeBSD on flash
  Восстановление ZFS
  Лечим FFS
  gmirror
  WWW
  Security
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


www.lissyara.su —> статьи —> FreeBSD —> Файловая система —> badsect

badsect - программа для перемещения bad-блоков в файлы.

Автор: lissyara.


    Badsect - программа, создаёт файл с дефектным сектором. (вернее сказать, она помещает дефектные секторы в отдельные файлы - каждый в свой.) Нужно это в том случае, если посыпался диск, заменить его прямо сейчас нельзя, а работать надо. Обычная, в общем-то ситуация...
   Итак. У программы всего два параметра - директория, где должны размещаться файлы с бэд-блоками и номер битого сектора.
/usr/home/lissyara/>su
/usr/home/lissyara/>df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/ad0s1a    248M    115M    113M    51%    /
devfs          1.0K    1.0K      0B   100%    /dev
/dev/ad0s1e     14G    5.2G    7.3G    42%    /usr
/dev/ad0s1f    3.5G    593M    2.7G    18%    /var
/dev/ad8s1      73G     63G    5.0G    93%    /usr/local/smb
/dev/ad0s1d    989M    1.4M    909M     0%    /tmp
/usr/home/lissyara/>mkdir /tmp/bad-sect
/usr/home/lissyara/>badsect /tmp/bad-sect 104100
Don't forget to run ``fsck /dev/ad0s1d''
/usr/home/lissyara/>badsect /tmp/bad-sect 104101
Don't forget to run ``fsck /dev/ad0s1d''
/usr/home/lissyara/>badsect /tmp/bad-sect 104102
Don't forget to run ``fsck /dev/ad0s1d''
/usr/home/lissyara/>badsect /tmp/bad-sect 104103
Don't forget to run ``fsck /dev/ad0s1d''
/usr/home/lissyara/>badsect /tmp/bad-sect 104104
Don't forget to run ``fsck /dev/ad0s1d''
/usr/home/lissyara/>badsect /tmp/bad-sect 104105
Don't forget to run ``fsck /dev/ad0s1d''
/usr/home/lissyara/>ls -lah /tmp/bad-sect
ls: 104100: Bad file descriptor
ls: 104101: Bad file descriptor
ls: 104102: Bad file descriptor
ls: 104103: Bad file descriptor
ls: 104104: Bad file descriptor
ls: 104105: Bad file descriptor
ls: 104448: Bad file descriptor
ls: 104449: Bad file descriptor
total 4
drwxr-xr-x   2 root  wheel   512B  1 янв 02:22 .
drwxrwxrwt  12 root  wheel   1,0K  1 янв 01:58 ..
/usr/home/lissyara/>umount -f /tmp
/usr/home/lissyara/>fsck /dev/ad0s1d
** /dev/ad0s1d
** Last Mounted on /tmp
** Phase 1 - Check Blocks and Sizes

HOLD BAD BLOCK? [yn] y

INCORRECT BLOCK COUNT I=8 (0 should be 4)
CORRECT? [yn] y

26112 DUP I=9
UNEXPECTED SOFT UPDATE INCONSISTENCY


HOLD BAD BLOCK? [yn] y

26112 DUP I=16
UNEXPECTED SOFT UPDATE INCONSISTENCY

INCORRECT BLOCK COUNT I=16 (0 should be 4)
CORRECT? [yn] y


HOLD BAD BLOCK? [yn] y

INCORRECT BLOCK COUNT I=17 (0 should be 4)
CORRECT? [yn] y


HOLD BAD BLOCK? [yn] y

26025 DUP I=18
UNEXPECTED SOFT UPDATE INCONSISTENCY

INCORRECT BLOCK COUNT I=18 (0 should be 4)
CORRECT? [yn] y


HOLD BAD BLOCK? [yn] y

26025 DUP I=19
UNEXPECTED SOFT UPDATE INCONSISTENCY

INCORRECT BLOCK COUNT I=19 (0 should be 4)
CORRECT? [yn] y


HOLD BAD BLOCK? [yn] y

26025 DUP I=20
UNEXPECTED SOFT UPDATE INCONSISTENCY

INCORRECT BLOCK COUNT I=20 (0 should be 4)
CORRECT? [yn] y


HOLD BAD BLOCK? [yn] y

INCORRECT BLOCK COUNT I=21 (0 should be 4)
CORRECT? [yn] y


HOLD BAD BLOCK? [yn] y

26026 DUP I=22
UNEXPECTED SOFT UPDATE INCONSISTENCY

INCORRECT BLOCK COUNT I=22 (0 should be 4)
CORRECT? [yn] y

INTERNAL ERROR: dups with -p
UNEXPECTED SOFT UPDATE INCONSISTENCY
** Phase 1b - Rescan For More DUPS
26112 DUP I=8
UNEXPECTED SOFT UPDATE INCONSISTENCY

26025 DUP I=17
UNEXPECTED SOFT UPDATE INCONSISTENCY

26026 DUP I=21
UNEXPECTED SOFT UPDATE INCONSISTENCY

** Phase 2 - Check Pathnames
DUP/BAD  I=9  OWNER=root MODE=100600
SIZE=2048 MTIME=Jan  1 01:53 2006
FILE=/lost+found/#000009

UNEXPECTED SOFT UPDATE INCONSISTENCY

REMOVE? [yn] n

DUP/BAD  I=8  OWNER=root MODE=100600
SIZE=2048 MTIME=Jan  1 02:21 2006
FILE=/bad-sect/104448

UNEXPECTED SOFT UPDATE INCONSISTENCY

REMOVE? [yn] n

DUP/BAD  I=16  OWNER=root MODE=100600
SIZE=2048 MTIME=Jan  1 02:21 2006
FILE=/bad-sect/104449

UNEXPECTED SOFT UPDATE INCONSISTENCY

REMOVE? [yn] n

DUP/BAD  I=17  OWNER=root MODE=100600
SIZE=2048 MTIME=Jan  1 02:22 2006
FILE=/bad-sect/104100

UNEXPECTED SOFT UPDATE INCONSISTENCY

REMOVE? [yn] n

DUP/BAD  I=18  OWNER=root MODE=100600
SIZE=2048 MTIME=Jan  1 02:22 2006
FILE=/bad-sect/104101

UNEXPECTED SOFT UPDATE INCONSISTENCY

REMOVE? [yn] n

DUP/BAD  I=19  OWNER=root MODE=100600
SIZE=2048 MTIME=Jan  1 02:22 2006
FILE=/bad-sect/104102

UNEXPECTED SOFT UPDATE INCONSISTENCY

REMOVE? [yn] n

DUP/BAD  I=20  OWNER=root MODE=100600
SIZE=2048 MTIME=Jan  1 02:22 2006
FILE=/bad-sect/104103

UNEXPECTED SOFT UPDATE INCONSISTENCY

REMOVE? [yn] n

DUP/BAD  I=21  OWNER=root MODE=100600
SIZE=2048 MTIME=Jan  1 02:22 2006
FILE=/bad-sect/104104

UNEXPECTED SOFT UPDATE INCONSISTENCY

REMOVE? [yn] n

DUP/BAD  I=22  OWNER=root MODE=100600
SIZE=2048 MTIME=Jan  1 02:22 2006
FILE=/bad-sect/104105

UNEXPECTED SOFT UPDATE INCONSISTENCY

REMOVE? [yn] n

** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
FREE BLK COUNT(S) WRONG IN SUPERBLK
SALVAGE? [yn] y

SUMMARY INFORMATION BAD
SALVAGE? [yn] y

ALLOCATED FRAGS 26025-26026 MARKED FREE
BLK(S) MISSING IN BIT MAPS
SALVAGE? [yn] y

253 files, 714 used, 505773 free (77 frags, 63212 blocks, 0.0% fragmentation)

***** FILE SYSTEM MARKED DIRTY *****

***** FILE SYSTEM WAS MODIFIED *****

***** PLEASE RERUN FSCK *****
/usr/home/lissyara/>mount /tmp
/usr/home/lissyara/>ls -lah /tmp/bad-sect
total 20
drwxr-xr-x   2 root  wheel   512B  1 янв 02:22 .
drwxrwxrwt  12 root  wheel   1,0K  1 янв 01:58 ..
-rw-------   1 root  wheel   2,0K  1 янв 02:22 104100
-rw-------   1 root  wheel   2,0K  1 янв 02:22 104101
-rw-------   1 root  wheel   2,0K  1 янв 02:22 104102
-rw-------   1 root  wheel   2,0K  1 янв 02:22 104103
-rw-------   1 root  wheel   2,0K  1 янв 02:22 104104
-rw-------   1 root  wheel   2,0K  1 янв 02:22 104105
-rw-------   1 root  wheel   2,0K  1 янв 02:21 104448
-rw-------   1 root  wheel   2,0K  1 янв 02:21 104449
/usr/home/lissyara/>

Вот так.

P.S. Кстати - не советую ставить опыты на рабочей машине, либо очень аккуратно выбирайте номера блоков для опытов - блок 104449, он был в /var - и в нём я увидел кусок одной из моих БД :( Было не очень обидно - я сделал дамп перед экспериментами, но всё же...



Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?t=4465.

размещено: 2005-12-31,
последнее обновление: 2006-01-01,
автор: lissyara

оценить статью:

Толик, 2007-04-13 в 15:55:04

Хорошая статья, но есть вопрос.
Откуда были взяты первоначальные значения битых секторов? Подозреваю, что из того же fsck.
Я попробовал произвести те же операции и система сказала, что мои значения блоков не входят в диапазон файловой системы.
Соответственно не получается от них избавиться.

lissyara, 2007-04-13 в 18:52:57

значит ты находился не в том разделе файловой системы.

ОЛОЛО, 2010-12-16 в 5:17:59

Если не врубать SOFT UPDATE шанс появления бед блоков равен нулю!!!!!!!!!!!!!!

Alex Keda, 2010-12-16 в 8:55:55

та вы батенько, наркоман...
какая связь SU c аппаратными ошибками диска?

Smelter, 2015-11-25 в 12:51:24

Та же фигня, где взять номера битых секторов? К mhdd не посылать, а то я тоже посылать начну :)


Оставьте свой комментарий:
Ваше имя:   *
e-mail:  
жирный
наклонный
подчёркнутый
ссылка
цвет
Нынешний год:   *
 


Хостинг HOST-FOOD

2014-07-27, lissyara
gmirror

Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9

Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту

Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis

Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS

Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT

В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat

Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp

Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration

Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster

HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS

История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire

Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной

Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server

Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs

Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec

Описание принципов работы IPSEC и способов аутентификации.
2010-12-07, manefesto
FreeBSD on flash

Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
2010-12-05, Fomalhaut
root ZFS, GPT

Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
2010-09-05, Cancer
Настройка аудиоплеера на ximp3

Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
2010-08-31, Cancer
Установка и настройка OpenVPN

На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
2010-08-25, manefesto
freebsd lvm

Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 18 чел.
За последние 30 мин было: 81 человек
За сегодня было
8 показов,
5 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0443 секунд
Из них PHP: 34%; SQL: 66%; Число SQL-запросов: 77 шт.
Исходный размер: 108203; Сжатая: 19552