Rechercher

22.2. Accès à l'espace utilisateur

download PDF
Veuillez toujours prendre soin d'utiliser des E/S de taille et d'alignement corrects. Ceci est particulièrement important pour l'accès aux E/S directes. Les E/S directes doivent être alignées sur une limite logical_block_size, et sur des multiples de logical_block_size.
Avec les périphériques 4K natifs (par exemple, logical_block_size font 4K) il est désormais critique que les applications effectuent des E/S directes multiples de logical_block_size. Ceci signifie que les applications échoueront avec les périphériques 4k qui effectuent des E/S alignées sur 512 octets plutôt que sur des E/S alignées 4k.
Pour éviter ceci, une application doit consulter les paramètres d'E/S d'un périphérique afin de s'assurer qu'il utilise l'alignement et la taille des E/S corrects. Comme mentionné ultérieurement, les paramètres d'E/S sont exposés via les interfaces sysfs et ioctl de périphérique bloc.
Pour obtenir plus de détails, veuillez consulter man libblkid. Cette page man est fournie par le paquet libblkid-devel.

Interface sysfs

  • /sys/block/disk/alignment_offset
    ou
    /sys/block/disk/partition/alignment_offset

    Note

    L'emplacement du fichier dépendra si le disque est un disque physique (local, RAID local ou LUN multivoies) ou un disque virtuel. Le premier emplacement s'applique aux disques physiques alors que le second s'applique aux disques virtuels. La raison pour ceci est que virtio-blk rapportera toujours une valeur d'alignement à la partition. Les disques physiques rapporteront ou non un valeur d'alignement.
  • /sys/block/disk/queue/physical_block_size
  • /sys/block/disk/queue/logical_block_size
  • /sys/block/disk/queue/minimum_io_size
  • /sys/block/disk/queue/optimal_io_size
Le noyau exportera toujours ces attributs sysfs pour les périphériques « hérités » qui ne fournissent pas d'informations sur les paramètres d'E/S, par exemple :

Exemple 22.1. Interface sysfs

alignment_offset:    0
physical_block_size: 512
logical_block_size:  512
minimum_io_size:     512
optimal_io_size:     0

ioctls du périphérique bloc

  • BLKALIGNOFF: alignment_offset
  • BLKPBSZGET : physical_block_size
  • BLKSSZGET : logical_block_size
  • BLKIOMIN : minimum_io_size
  • BLKIOOPT : optimal_io_size
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.