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

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 раздела
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 21 чел.
За последние 30 мин было: 193 человек
За сегодня было
3375 показов,
858 уникальных IP
 

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

© lissyara 2006-10-24 08:47 MSK

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