Quel est le format de Linux Raw ?

Mar 14, 2023 am 09:33 AM
linux raw

linux raw est le format de données original, ce qui signifie « périphérique nu » sous Linux, également appelé partition nue et partition brute ; Linux raw est un caractère spécial qui n'a pas été formaté et ne peut pas être lu par Unix/Linux via le système de fichiers. Périphérique ; un périphérique brut peut être lié à une partition ou à un disque.

Quel est le format de Linux Raw ?

L'environnement d'exploitation de ce tutoriel : système linux5.9.8, ordinateur Dell G3.

Quel est le format de Linux Raw ?

Format de données original.

Explication détaillée des périphériques bruts Linux

Aperçu des périphériques nus

Périphérique nu : également appelé partition nue (partition brute), il s'agit d'un périphérique à caractères spéciaux qui n'a pas été formaté et ne peut pas être lu par Unix/Linux via le système de fichiers. Un périphérique brut peut être lié à une partition ou à un disque.

Périphérique de caractères : les périphériques de lecture et d'écriture de caractères n'ont pas besoin de passer par le tampon du système d'exploitation. Il ne peut pas être monté par le système de fichiers.

Périphériques bloqués : les périphériques bloqués en lecture et en écriture doivent passer par le tampon du système d'exploitation, qui peut être monté sur le système de fichiers.

Ceci est lié à la version Linux. Dans l'ancienne version, il ne peut y avoir qu'un maximum de 256 appareils nus. Sous Linux 4, vous pouvez lier 81Array2 appareils nus. Cependant, sous Linux, il ne peut y avoir qu'un maximum de 255 partitions. Par conséquent, si vous utilisez un périphérique brut pour lier une partition, vous ne pouvez lier qu'un maximum de 255 périphériques bruts. Si vous utilisez LVM, cette restriction n'existe pas.

Un seul disque peut avoir jusqu'à 15 partitions sous Linux. 3 partitions principales + 1 partition étendue + 11 partitions logiques.

La méthode de partitionnement recommandée est la suivante : divisez-la d'abord en 3 partitions principales, la quatrième partition est une partition étendue, puis divisez-la en 11 partitions logiques dans la partition étendue.

Notez que les périphériques bruts ne doivent pas être liés à des partitions étendues.

Si vous devez utiliser des appareils nus sous Linux, vous devez les lier manuellement, mais pas sous Unix.

Étant donné que chaque périphérique bloc sous Unix a un périphérique de caractères correspondant pour les E/S sans tampon, il s'agit de son périphérique brut correspondant. Rawio sous Linux implémente un ensemble de périphériques bruts non liés /dev/rawN ou /dev/raw/rawN et un périphérique de contrôle /dev/rawct pour les lier aux périphériques bloqués. Ainsi, lorsque vous devez utiliser un périphérique brut, vous devez le faire correspondre à un véritable périphérique de bloc. Cette étape termine en fait le mappage automatique d'un périphérique de caractères non mis en cache sous Unix.

numéro de périphérique majeur et mineur

Dans les systèmes Unix/Linux, tout est un fichier. Tous les disques durs, disquettes, claviers et autres périphériques sont représentés par des fichiers correspondant aux fichiers sous /dev. Pour les applications, ces fichiers de périphérique peuvent être ouverts, fermés, lus et écrits comme des fichiers ordinaires. Cependant, ces noms de fichiers, tels que /dev/sda et /dev/raw/raw1, sont tous des noms d'espace utilisateur et le noyau du système d'exploitation ne sait pas à quoi ce nom fait référence. Dans l'espace noyau, les périphériques sont distingués par des numéros de périphérique majeurs et mineurs.

Le numéro de périphérique majeur peut être considéré comme un pilote de périphérique. Les périphériques gérés par le même pilote de périphérique ont le même numéro de périphérique majeur. Ce numéro est en fait l'index de la table des pilotes de périphérique dans le noyau, qui stocke différents pilotes de périphérique. Le numéro de périphérique mineur est utilisé pour représenter le périphérique spécifique auquel vous accédez. Autrement dit, le noyau trouve le pilote de périphérique en fonction du numéro de périphérique principal, puis obtient l'emplacement du périphérique et d'autres attributs à partir du numéro de périphérique mineur. Tous ces numéros d'appareil majeurs sont pré-attribués. Les détails peuvent être consultés sur http://www.lanana.org/docs/device-list/devices-2.6+.txt.

Par exemple, le périphérique brut est 162 et le périphérique bloc scsi est 8

/etc/udev/rules.d/60-raw.rules
Copier après la connexion

La configuration du périphérique brut sur la plate-forme Redhat a changé après Redhat 5. Avant Redhat 5, le fichier /etc/sysconfig/rawdevices était directement configuré et le démarrage et l'arrêt des périphériques bruts étaient gérés via /etc/init.d/rawdevices. Après Redhat 5, l'interface brute du périphérique d'origine a été annulée et Redhat 5 est configuré via les règles udev. Pour configurer, vous devez éditer le fichier /etc/udev/rules.d/60-raw.rules.

cat /etc/udev/rules.d/60-raw.rules
# Enter raw device bindings here.
#
# An example would be:
#   ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N"
# to bind /dev/raw/raw1 to /dev/sda, or
#   ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m"
# to bind /dev/raw/raw2 to the device with major 8, minor 1.
Copier après la connexion

Parmi eux,

ACTION=="add", KERNEL="<device name>", RUN+="raw /dev/raw/rawX %N"
Copier après la connexion

configurez le nom de l'appareil, remplacez par le nom de l'appareil que vous devez lier (tel que : /dev/sda1), A" et "B" sont les nombres majeurs/mineurs. de l'appareil, et X est le numéro brut de l'appareil utilisé par le système.

Ma compréhension personnelle du processus de gestion de Raw dans Redhat est la suivante : dans Redhat 5, les périphériques bruts sont gérés via udev, et udev identifie les périphériques bruts via MAJOR et MINOR. Par conséquent, le numéro de périphérique et le numéro de périphérique brut doivent être liés, et le numéro de périphérique majeur et le numéro de périphérique mineur peuvent être spécifiés par vous-même ou attribués automatiquement par le système. D'après l'exemple de raw.rule dans la documentation officielle de Red Hat, il est dit que KERNEL==.. ou ENV{MAJOR}... doit seulement être configuré arbitrairement. Cependant, certains internautes ont testé et vérifié que les deux doivent l'être. configuré en même temps.

Configurez le fichier /etc/udev/rules.d/60-raw.rules

Vérifiez la situation de la partition de disque

ACTION=="add", ENV{MAJOR}="A", ENV{MINOR}="B", RUN+="raw /dev/raw/rawX %M %m"
Copier après la connexion

Configurez le fichier /etc/udev/rules.d/60-raw.rules

# fdisk  -l /dev/sdb
Disk /dev/sdb: 4880 MB, 4880072704 bytes
255 heads, 63 sectors/track, 593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1          25      200781   83  Linux
/dev/sdb2              26          50      200812+  83  Linux
Copier après la connexion

Démarrez le périphérique brut

# grep -v ^# /etc/udev/rules.d/60-raw.rules
ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdb2", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", ENV{MAJOR}=="3", ENV{MINOR}=="2", RUN+="/bin/raw /dev/raw/raw1 %M %m"
ACTION=="add", ENV{MAJOR}=="7", ENV{MINOR}=="2", RUN+="/bin/raw /dev/raw/raw2 %M %m"
Copier après la connexion

Vérifiez la configuration

# start_udev
Starting udev:                                             [  OK  ]
Copier après la connexion

L'auteur ici ne sait pas pourquoi le numéro de périphérique principal et le numéro de périphérique complexe ne sont pas les mêmes que ce que j'ai spécifié dans /etc/udev/rules.d/60-raw. règles. J'espère que les lecteurs qui en savent plus pourront me dire que le système Les informations sur le noyau sont les suivantes

# raw -qa
/dev/raw/raw1:  bound to major 8, minor 17
/dev/raw/raw2:  bound to major 8, minor 18
Copier après la connexion

Vous pouvez spécifier le numéro de périphérique principal et le numéro de périphérique complexe des manières suivantes

# raw /dev/raw/raw1 1 1
/dev/raw/raw1:  bound to major 1, minor 1
raw /dev/raw/raw[n] /dev/xxx
Copier après la connexion

其中n的范围是0-8191。raw目录不存在的话会被自动创建。执行这个命令,就会在/dev/raw下生成一个对应的raw[n]文件用命令方式绑定裸设备在系统重启后会失效。

删除裸设备

# raw /dev/raw/raw2 0 0
/dev/raw/raw2:  bound to major 0, minor 0
# raw -qa
/dev/raw/raw1:  bound to major 1, minor 1
Copier après la connexion

以上设置必须同时修改/etc/udev/rules.d/60-raw.rules才能保证重启后生效,否则重启后系统会重新读取/etc/udev/rules.d/60-raw.rules

如需设置raw设备的用户和权限信息,可在/etc/udev/rules.d/60-raw.rules文件里添加如下信息:

ACTION=="add", KERNEL=="raw1", OWNER="dave", GROUP="tianlesoftware", MODE="660"
Copier après la connexion

如果有多个raw设备,可以写成:

ACTION=="add", KERNEL=="raw[1-4]", OWNER="dave", GROUP="tianlesoftware", MODE="660"
#chown oracle:oinstall /dev/raw/raw[1-4]
#chmod 775 /dev/raw/raw[1-4]
Copier après la connexion

注意:在内核2.6.9-89.5AXS2之前使用/etc/sysconfig/rawdevices和/etc/udev/permissions.d/50-udev.permissions进行raw设备的配置和权限管理。在内核 2.6.18-128.7AXS3以后则使用了本文介绍的/etc/udev/rules.d/60-raw.rules进行raw设备的管理

确定裸设备的大小

比较笨的办法是,找出看裸设备对应的是那个实际的块设备,然后用fdisk -l /dev/[h,s]dXN看那个块设备的大小就好了。比较简单的办法是用blockdev命令来计算,如:

#blockdev --getsize /dev/raw/raw1

11718750

11718750表示有多少OS BLIOCK。

一般一个OS BLOCK大小是512字节,所以11718750*512/1024/1024= 5722(m) 就是裸设备的大小。

使用裸设备作为oracle的数据文件的注意事项

1、一个裸设备只能放置一个数据文件

2、数据文件的大小不能超过裸设备的大小

如果是日志文件,则裸设备最大可用大小=裸设备对应分区大小 - 1 * 512 (保留一个redo lock)

如果是数据文件,则裸设备最大可用大小=裸设备对应分区大小 - 2 * db_block_size(保留两个block)

为了简单起见,对所有的文件设置称比裸设备小1M即可。

3、数据文件最好不要设置称自动扩展,如果设置称自动扩展,一定要把maxsize设置设置为比裸设备小

4、linux下oracle不能直接把逻辑卷作为裸设备,也要进行绑定。unix下就不需要。

相关推荐:《Linux视频教程

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelle configuration de l'ordinateur est requise pour VScode Quelle configuration de l'ordinateur est requise pour VScode Apr 15, 2025 pm 09:48 PM

Vs Code Système Exigences: Système d'exploitation: Windows 10 et supérieur, MacOS 10.12 et supérieur, processeur de distribution Linux: minimum 1,6 GHz, recommandé 2,0 GHz et au-dessus de la mémoire: minimum 512 Mo, recommandée 4 Go et plus d'espace de stockage: Minimum 250 Mo, recommandée 1 Go et plus d'autres exigences: connexion du réseau stable, xorg / wayland (Linux) recommandé et recommandée et plus

VScode ne peut pas installer l'extension VScode ne peut pas installer l'extension Apr 15, 2025 pm 07:18 PM

Les raisons de l'installation des extensions de code vs peuvent être: l'instabilité du réseau, les autorisations insuffisantes, les problèmes de compatibilité système, la version de code vs est trop ancienne, un logiciel antivirus ou des interférences de pare-feu. En vérifiant les connexions réseau, les autorisations, les fichiers journaux, la mise à jour vs du code, la désactivation des logiciels de sécurité et le redémarrage du code ou des ordinateurs, vous pouvez progressivement dépanner et résoudre les problèmes.

Peut-on utiliser pour mac Peut-on utiliser pour mac Apr 15, 2025 pm 07:36 PM

VS Code est disponible sur Mac. Il a des extensions puissantes, l'intégration GIT, le terminal et le débogueur, et offre également une multitude d'options de configuration. Cependant, pour des projets particulièrement importants ou un développement hautement professionnel, le code vs peut avoir des performances ou des limitations fonctionnelles.

Qu'est-ce que VScode pour quoi est VScode? Qu'est-ce que VScode pour quoi est VScode? Apr 15, 2025 pm 06:45 PM

VS Code est le code Visual Studio Nom complet, qui est un éditeur de code multiplateforme gratuit et open source et un environnement de développement développé par Microsoft. Il prend en charge un large éventail de langages de programmation et fournit une mise en surbrillance de syntaxe, une complétion automatique du code, des extraits de code et des invites intelligentes pour améliorer l'efficacité de développement. Grâce à un écosystème d'extension riche, les utilisateurs peuvent ajouter des extensions à des besoins et des langues spécifiques, tels que les débogueurs, les outils de mise en forme de code et les intégrations GIT. VS Code comprend également un débogueur intuitif qui aide à trouver et à résoudre rapidement les bogues dans votre code.

Comment utiliser vscode Comment utiliser vscode Apr 15, 2025 pm 11:21 PM

Visual Studio Code (VSCODE) est un éditeur de code Open Source, Open Source et gratuit développé par Microsoft. Il est connu pour son léger, l'évolutivité et le support pour une large gamme de langages de programmation. Pour installer VScode, veuillez visiter le site officiel pour télécharger et exécuter l'installateur. Lorsque vous utilisez VSCODE, vous pouvez créer de nouveaux projets, modifier le code, déboguer le code, naviguer dans les projets, développer VSCODE et gérer les paramètres. VScode est disponible pour Windows, MacOS et Linux, prend en charge plusieurs langages de programmation et fournit diverses extensions via Marketplace. Ses avantages incluent le léger, l'évolutivité, le support linguistique étendu, les fonctionnalités riches et la version

Comment exécuter le code Java dans le bloc-notes Comment exécuter le code Java dans le bloc-notes Apr 16, 2025 pm 07:39 PM

Bien que le bloc-notes ne puisse pas exécuter directement le code Java, il peut être réalisé en utilisant d'autres outils: à l'aide du compilateur de ligne de commande (Javac) pour générer un fichier bytecode (filename.class). Utilisez l'interpréteur Java (Java) pour interpréter ByteCode, exécuter le code et sortir le résultat.

Quel est le but principal de Linux? Quel est le but principal de Linux? Apr 16, 2025 am 12:19 AM

Les principales utilisations de Linux comprennent: 1. Système d'exploitation du serveur, 2. Système intégré, 3. Système d'exploitation de bureau, 4. Environnement de développement et de test. Linux excelle dans ces domaines, offrant des outils de stabilité, de sécurité et de développement efficaces.

Comment vérifier l'adresse de l'entrepôt de Git Comment vérifier l'adresse de l'entrepôt de Git Apr 17, 2025 pm 01:54 PM

Pour afficher l'adresse du référentiel GIT, effectuez les étapes suivantes: 1. Ouvrez la ligne de commande et accédez au répertoire du référentiel; 2. Exécutez la commande "git Remote -v"; 3. Affichez le nom du référentiel dans la sortie et son adresse correspondante.

See all articles